Rename yang test files to match module names
[yangtools.git] / yang / yang-data-impl / src / test / java / org / opendaylight / yangtools / yang / data / impl / schema / SchemaOrderedNormalizedNodeWriterTest.java
index 4eef71b577e210772ba6a7f6ee2a6348b859b844..4b4ef99b4f8c499a8fa0f5dfaf31faf2b147f116 100644 (file)
@@ -7,11 +7,11 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema;
 
-import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
 import java.io.StringWriter;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import javax.xml.stream.XMLOutputFactory;
 import javax.xml.stream.XMLStreamWriter;
@@ -30,7 +30,10 @@ import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWrit
 import org.opendaylight.yangtools.yang.data.impl.codec.xml.XMLStreamNormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
+import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
+import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl;
 
 public class SchemaOrderedNormalizedNodeWriterTest {
 
@@ -64,6 +67,12 @@ public class SchemaOrderedNormalizedNodeWriterTest {
             "    </cont>\n" +
             "</root>";
 
+    private static final String FOO_NAMESPACE = "foo";
+    private static final String RULE_NODE = "rule";
+    private static final String NAME_NODE = "name";
+    private static final String POLICY_NODE = "policy";
+    private static final String ORDER_NAMESPACE = "order";
+
 
     @Before
     public void setUp() throws Exception {
@@ -75,24 +84,24 @@ public class SchemaOrderedNormalizedNodeWriterTest {
         final StringWriter stringWriter = new StringWriter();
         final XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newFactory().createXMLStreamWriter(stringWriter);
 
-        SchemaContext schemaContext = getSchemaContext("/bug-1848.yang");
+        SchemaContext schemaContext = getSchemaContext("/bug1848/foo.yang");
         NormalizedNodeStreamWriter writer = XMLStreamNormalizedNodeStreamWriter.create(xmlStreamWriter, schemaContext);
         SchemaOrderedNormalizedNodeWriter nnw = new SchemaOrderedNormalizedNodeWriter(writer, schemaContext, SchemaPath.ROOT);
 
         List<MapEntryNode> rule1Names = new ArrayList<>();
-        rule1Names.add(ImmutableNodes.mapEntry(createQName("foo", "rule"), createQName("foo", "name"), "rule1"));
-        rule1Names.add(ImmutableNodes.mapEntry(createQName("foo", "rule"), createQName("foo", "name"), "rule2"));
+        rule1Names.add(ImmutableNodes.mapEntry(createQName(FOO_NAMESPACE, RULE_NODE), createQName(FOO_NAMESPACE, NAME_NODE), "rule1"));
+        rule1Names.add(ImmutableNodes.mapEntry(createQName(FOO_NAMESPACE, RULE_NODE), createQName(FOO_NAMESPACE, NAME_NODE), "rule2"));
 
         List<MapEntryNode> rule2Names = new ArrayList<>();
-        rule1Names.add(ImmutableNodes.mapEntry(createQName("foo", "rule"), createQName("foo", "name"), "rule3"));
-        rule1Names.add(ImmutableNodes.mapEntry(createQName("foo", "rule"), createQName("foo", "name"), "rule4"));
+        rule1Names.add(ImmutableNodes.mapEntry(createQName(FOO_NAMESPACE, RULE_NODE), createQName(FOO_NAMESPACE, NAME_NODE), "rule3"));
+        rule1Names.add(ImmutableNodes.mapEntry(createQName(FOO_NAMESPACE, RULE_NODE), createQName(FOO_NAMESPACE, NAME_NODE), "rule4"));
 
         DataContainerChild<?, ?> rules1 = Builders.orderedMapBuilder()
-                .withNodeIdentifier(getNodeIdentifier("foo", "rule"))
+                .withNodeIdentifier(getNodeIdentifier(FOO_NAMESPACE, RULE_NODE))
                 .withValue(rule1Names)
                 .build();
         DataContainerChild<?, ?> rules2 = Builders.orderedMapBuilder()
-                .withNodeIdentifier(getNodeIdentifier("foo", "rule"))
+                .withNodeIdentifier(getNodeIdentifier(FOO_NAMESPACE, RULE_NODE))
                 .withValue(rule2Names)
                 .build();
 
@@ -100,24 +109,22 @@ public class SchemaOrderedNormalizedNodeWriterTest {
 
 
         final MapEntryNode pn1 = ImmutableNodes
-                .mapEntryBuilder(createQName("foo", "policy"), createQName("foo", "name"), "policy1")
+                .mapEntryBuilder(createQName(FOO_NAMESPACE, POLICY_NODE), createQName(FOO_NAMESPACE, NAME_NODE), "policy1")
                 .withChild(rules1)
                 .build();
         final MapEntryNode pn2 = ImmutableNodes
-                .mapEntryBuilder(createQName("foo", "policy"), createQName("foo", "name"), "policy2")
+                .mapEntryBuilder(createQName(FOO_NAMESPACE, POLICY_NODE), createQName(FOO_NAMESPACE, NAME_NODE), "policy2")
                 .withChild(rules2)
                 .build();
         policyNodes.add(pn1);
         policyNodes.add(pn2);
 
-
-
         DataContainerChild<?, ?> policy = Builders.orderedMapBuilder()
-                .withNodeIdentifier(getNodeIdentifier("foo", "policy"))
+                .withNodeIdentifier(getNodeIdentifier(FOO_NAMESPACE, POLICY_NODE))
                 .withValue(policyNodes)
                 .build();
         NormalizedNode<?, ?> root = Builders.containerBuilder()
-                .withNodeIdentifier(getNodeIdentifier("foo", "root"))
+                .withNodeIdentifier(getNodeIdentifier(FOO_NAMESPACE, "root"))
                 .withChild(policy).build();
         nnw.write(root);
 
@@ -128,32 +135,34 @@ public class SchemaOrderedNormalizedNodeWriterTest {
     public void testWriteOrder() throws Exception {
         final StringWriter stringWriter = new StringWriter();
         final XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newFactory().createXMLStreamWriter(stringWriter);
-        SchemaContext schemaContext = getSchemaContext("/bug-1848-2.yang");
+        SchemaContext schemaContext = getSchemaContext("/bug1848/order.yang");
         NormalizedNodeStreamWriter writer = XMLStreamNormalizedNodeStreamWriter.create(xmlStreamWriter, schemaContext);
 
         NormalizedNodeWriter nnw = new SchemaOrderedNormalizedNodeWriter(writer, schemaContext, SchemaPath.ROOT);
 
         DataContainerChild<?, ?> cont = Builders.containerBuilder()
-                .withNodeIdentifier(getNodeIdentifier("order", "cont"))
-                .withChild(ImmutableNodes.leafNode(createQName("order", "content"), "content1"))
+                .withNodeIdentifier(getNodeIdentifier(ORDER_NAMESPACE, "cont"))
+                .withChild(ImmutableNodes.leafNode(createQName(ORDER_NAMESPACE, "content"), "content1"))
                 .build();
 
         NormalizedNode<?, ?> root = Builders.containerBuilder()
-                .withNodeIdentifier(getNodeIdentifier("order", "root"))
+                .withNodeIdentifier(getNodeIdentifier(ORDER_NAMESPACE, "root"))
                 .withChild(cont)
-                .withChild(ImmutableNodes.leafNode(createQName("order", "id"), "id1"))
+                .withChild(ImmutableNodes.leafNode(createQName(ORDER_NAMESPACE, "id"), "id1"))
                 .build();
 
         nnw.write(root);
-        System.out.println(stringWriter.toString());
-        System.out.println(EXPECTED_2);
 
         XMLAssert.assertXMLIdentical(new Diff(EXPECTED_2, stringWriter.toString()), true);
     }
 
-    private SchemaContext getSchemaContext(String filePath) throws URISyntaxException {
-        File file = new File(getClass().getResource(filePath).toURI());
-        return YangParserImpl.getInstance().parseFiles(Collections.singletonList(file));
+    private SchemaContext getSchemaContext(String filePath) throws URISyntaxException, ReactorException, FileNotFoundException {
+        final InputStream resourceStream = getClass().getResourceAsStream(filePath);
+        final YangStatementSourceImpl source = new YangStatementSourceImpl(resourceStream);
+        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
+                .newBuild();
+        reactor.addSources(source);
+        return reactor.buildEffective();
     }
 
     private YangInstanceIdentifier.NodeIdentifier getNodeIdentifier(String ns, String name) {