import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import com.google.common.base.Optional;
import com.google.common.collect.Sets;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
+import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
public static void initialization() throws Exception {
final Collection<File> testFiles = TestRestconfUtils.loadFiles("/instanceidentifier/yang");
testFiles.addAll(TestRestconfUtils.loadFiles("/invoke-rpc"));
+ testFiles.addAll(TestRestconfUtils.loadFiles("/foo-xml-test/yang"));
schemaContext = YangParserTestUtils.parseYangSources(testFiles);
CONTROLLER_CONTEXT.setSchemas(schemaContext);
}
+ @Test
+ public void putXmlTest() throws Exception {
+ runXmlTest(false, "foo:top-level-list/key-value");
+ }
+
+ @Test
+ public void postXmlTest() throws Exception {
+ runXmlTest(true, "");
+ }
+
+ private void runXmlTest(final boolean isPost, final String path) throws Exception {
+ mockBodyReader(path, xmlBodyReader, isPost);
+ final InputStream inputStream = TestXmlBodyReader.class.getResourceAsStream("/foo-xml-test/foo.xml");
+ final NormalizedNodeContext nnc = xmlBodyReader.readFrom(null, null, null, mediaType, null, inputStream);
+ assertNotNull(nnc);
+
+ assertTrue(nnc.getData() instanceof MapEntryNode);
+ final MapEntryNode data = (MapEntryNode) nnc.getData();
+ assertTrue(data.getValue().size() == 2);
+ for (final DataContainerChild<? extends PathArgument, ?> child : data.getValue()) {
+ switch (child.getNodeType().getLocalName()) {
+ case "key-leaf":
+ assertEquals("key-value", child.getValue());
+ break;
+
+ case "ordinary-leaf":
+ assertEquals("leaf-value", child.getValue());
+ break;
+ default:
+ fail();
+ }
+ }
+ }
+
@Test
public void moduleDataTest() throws Exception {
final DataSchemaNode dataSchemaNode =