Additional test for instance-identifier
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / test / java / org / opendaylight / controller / sal / restconf / impl / cnsn / to / json / test / CnSnToJsonWithDataFromSeveralModulesTest.java
index 54664ae069a98e8ccc7dc120767e0e74dd570ec2..348edbd2945d6d1fb2f86ea0d1e3026a81132c47 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.controller.sal.restconf.impl.cnsn.to.json.test;
 import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
-import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -18,40 +17,38 @@ import java.util.regex.Pattern;
 import javax.ws.rs.WebApplicationException;
 
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.opendaylight.controller.sal.rest.impl.StructuredDataToJsonProvider;
-import org.opendaylight.controller.sal.rest.impl.StructuredDataToXmlProvider;
-import org.opendaylight.controller.sal.restconf.impl.CompositeNodeWrapper;
-import org.opendaylight.controller.sal.restconf.impl.SimpleNodeWrapper;
 import org.opendaylight.controller.sal.restconf.impl.test.TestUtils;
 import org.opendaylight.controller.sal.restconf.impl.test.YangAndXmlAndDataSchemaLoader;
 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
+import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;
+import org.opendaylight.yangtools.yang.data.api.MutableSimpleNode;
+import org.opendaylight.yangtools.yang.data.impl.NodeFactory;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 public class CnSnToJsonWithDataFromSeveralModulesTest extends YangAndXmlAndDataSchemaLoader {
 
     @BeforeClass
     public static void initialize() {
-        dataLoad("/xml-to-cnsn/data-of-several-modules/yang",2,"module1","cont_m1");
+        dataLoad("/xml-to-cnsn/data-of-several-modules/yang", 2, "module1", "cont_m1");
     }
 
-    @Ignore
     @Test
     public void dataFromSeveralModulesToJsonTest() throws WebApplicationException, IOException, URISyntaxException {
         SchemaContext schemaContext = TestUtils.loadSchemaContext(modules);
         String output = TestUtils.writeCompNodeWithSchemaContextToOutput(prepareCnSn(), modules, schemaContext,
                 StructuredDataToJsonProvider.INSTANCE);
 
-//         String output =
-//         String.format("\"data\"   :   {\n" +
-//                             "\t\"cont_m1\"   :  {\n" +
-//                                 "\t\t\"lf1_m1\"   :  \"lf1 m1 value\"\n" +
-//                             "\t}\n" +
-//                             "\t\"cont_m2\"   :  {\n" +
-//                                 "\t\t\"lf1_m2\"   :  \"lf1 m2 value\"\n" +
-//                             "\t}\n" +
-//                     "}");
+        // String output =
+        // String.format("\"data\"   :   {\n" +
+        // "\t\"cont_m1\"   :  {\n" +
+        // "\t\t\"lf1_m1\"   :  \"lf1 m1 value\"\n" +
+        // "\t}\n" +
+        // "\t\"cont_m2\"   :  {\n" +
+        // "\t\t\"lf1_m2\"   :  \"lf1 m2 value\"\n" +
+        // "\t}\n" +
+        // "}");
 
         StringBuilder regex = new StringBuilder();
         regex.append("^");
@@ -59,27 +56,27 @@ public class CnSnToJsonWithDataFromSeveralModulesTest extends YangAndXmlAndDataS
         regex.append(".*\"data\"");
         regex.append(".*:");
         regex.append(".*\\{");
-        
-        regex.append(".*\"contB_m1\"");
+
+        regex.append(".*\"cont_m1\"");
         regex.append(".*:");
         regex.append(".*\\{");
         regex.append(".*\\}");
-        
-        regex.append(".*\"cont_m1\"");
+
+        regex.append(".*\"contB_m1\"");
         regex.append(".*:");
         regex.append(".*\\{");
         regex.append(".*\\}");
 
-        regex.append(".*\"contB_m2\"");
+        regex.append(".*\"cont_m2\"");
         regex.append(".*:");
         regex.append(".*\\{");
         regex.append(".*\\}");
-        
-        regex.append(".*\"cont_m2\"");
+
+        regex.append(".*\"contB_m2\"");
         regex.append(".*:");
         regex.append(".*\\{");
         regex.append(".*\\}");
-        
+
         regex.append(".*\\}");
 
         regex.append(".*");
@@ -93,24 +90,44 @@ public class CnSnToJsonWithDataFromSeveralModulesTest extends YangAndXmlAndDataS
     }
 
     private CompositeNode prepareCnSn() throws URISyntaxException {
-        CompositeNodeWrapper data = new CompositeNodeWrapper(new URI("urn:ietf:params:xml:ns:netconf:base:1.0"), "data");
-
-        URI uriModule1 = new URI("module:one");
-        CompositeNodeWrapper cont_m1 = new CompositeNodeWrapper(uriModule1, "cont_m1");
-        SimpleNodeWrapper lf1_m1 = new SimpleNodeWrapper(uriModule1, "lf1_m1", "lf1 m1 value");
-        cont_m1.addValue(lf1_m1);
-        CompositeNodeWrapper contB_m1 = new CompositeNodeWrapper(uriModule1, "contB_m1");
-        
-        data.addValue(contB_m1);
-        data.addValue(cont_m1);
-
-        URI uriModule2 = new URI("module:two");
-        CompositeNodeWrapper cont_m2 = new CompositeNodeWrapper(uriModule2, "cont_m2");
-        SimpleNodeWrapper lf1_m2 = new SimpleNodeWrapper(uriModule2, "lf1_m2", "lf1 m2 value");
-        cont_m2.addValue(lf1_m2);
-        CompositeNodeWrapper contB_m2 = new CompositeNodeWrapper(uriModule2, "contB_m2");
-        data.addValue(contB_m2);
-        data.addValue(cont_m2);
+        String uri1 = "module:one";
+        String rev1 = "2014-01-17";
+
+        MutableCompositeNode data = NodeFactory.createMutableCompositeNode(
+                TestUtils.buildQName("data", "urn:ietf:params:xml:ns:netconf:base:1.0", "2000-01-01"), null, null,
+                null, null);
+
+        MutableCompositeNode cont_m1 = NodeFactory.createMutableCompositeNode(
+                TestUtils.buildQName("cont_m1", uri1, rev1), data, null, null, null);
+        data.getChildren().add(cont_m1);
+
+        MutableSimpleNode<?> lf1_m1 = NodeFactory.createMutableSimpleNode(TestUtils.buildQName("lf1_m1", uri1, rev1),
+                cont_m1, "lf1 m1 value", null, null);
+        cont_m1.getChildren().add(lf1_m1);
+        cont_m1.init();
+
+        MutableCompositeNode contB_m1 = NodeFactory.createMutableCompositeNode(
+                TestUtils.buildQName("contB_m1", uri1, rev1), data, null, null, null);
+        data.getChildren().add(contB_m1);
+        contB_m1.init();
+
+        String uri2 = "module:two";
+        String rev2 = "2014-01-17";
+        MutableCompositeNode cont_m2 = NodeFactory.createMutableCompositeNode(
+                TestUtils.buildQName("cont_m2", uri2, rev2), data, null, null, null);
+        data.getChildren().add(cont_m2);
+
+        MutableSimpleNode<?> lf1_m2 = NodeFactory.createMutableSimpleNode(TestUtils.buildQName("lf1_m2", uri2, rev2),
+                cont_m1, "lf1 m2 value", null, null);
+        cont_m2.getChildren().add(lf1_m2);
+        cont_m2.init();
+
+        MutableCompositeNode contB_m2 = NodeFactory.createMutableCompositeNode(
+                TestUtils.buildQName("contB_m2", uri2, rev2), data, null, null, null);
+        data.getChildren().add(contB_m2);
+        contB_m2.init();
+
+        data.init();
         return data;
     }