Use YangParserTestUtils instead of CrossSourceStatementReactor.BuildAction 87/10387/1
authorMarek Gradzki <mgradzki@cisco.com>
Fri, 2 Feb 2018 10:10:36 +0000 (11:10 +0100)
committerMarek Gradzki <mgradzki@cisco.com>
Fri, 2 Feb 2018 10:10:39 +0000 (11:10 +0100)
Simplifies code and removes usages of deprecated YangStatementSourceImpl.

Change-Id: I012e2de7a5a902927eaec87370f1850d54fbf4ee
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
infra/data-impl/pom.xml
infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/ModificationBaseTest.java
infra/translate-utils/pom.xml
infra/translate-utils/src/test/java/io/fd/honeycomb/translate/util/JsonUtilsTest.java

index 55e646a..3e5b4b9 100644 (file)
             <artifactId>skinny-logback</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-test-util</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
index c7d78fa..7e9c34d 100644 (file)
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
@@ -46,9 +47,7 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.ListNodeBuil
 import org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeFactory;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 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;
+import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 abstract class ModificationBaseTest extends ModificationMetadata {
 
@@ -127,10 +126,7 @@ abstract class ModificationBaseTest extends ModificationMetadata {
     }
 
     SchemaContext getSchemaCtx() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction buildAction = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        buildAction.addSource(
-                new YangStatementSourceImpl(ModificationDiffTest.class.getResourceAsStream("/test-diff.yang")));
-        return buildAction.buildEffective();
+        return YangParserTestUtils.parseYangSources(Collections.singletonList("/test-diff.yang"));
     }
 
     DataTreeModification getModification(final TipProducingDataTree dataTree) {
index d05d885..8b47014 100644 (file)
             <artifactId>mockito-core</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-test-util</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
index e1b2b3c..70717d2 100644 (file)
@@ -23,6 +23,7 @@ import com.google.common.io.ByteStreams;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.StandardOpenOption;
+import java.util.Collections;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.MockitoAnnotations;
@@ -32,10 +33,8 @@ import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveSchemaContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 public class JsonUtilsTest {
 
@@ -47,23 +46,20 @@ public class JsonUtilsTest {
     private static final QName STRING_LEAF_QNAME = QName.create(TOP_CONTAINER_NAME, "string");
 
     private Path tmpPersistFile;
-    private EffectiveSchemaContext effectiveSchemaContext;
+    private SchemaContext schemaContext;
 
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
         tmpPersistFile = Files.createTempFile("testing-hc-persistence", "json");
-
-        final CrossSourceStatementReactor.BuildAction buildAction = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        buildAction.addSource(new YangStatementSourceImpl(getClass().getResourceAsStream("/test-persistence.yang")));
-        effectiveSchemaContext = buildAction.buildEffective();
+        schemaContext = YangParserTestUtils.parseYangSources(Collections.singletonList("/test-persistence.yang"));
     }
 
     @Test
     public void testPersist() throws Exception {
 
         NormalizedNode<?, ?> data = getData("testing");
-        JsonUtils.writeJsonRoot(data, effectiveSchemaContext, Files.newOutputStream(tmpPersistFile, StandardOpenOption.CREATE));
+        JsonUtils.writeJsonRoot(data, schemaContext, Files.newOutputStream(tmpPersistFile, StandardOpenOption.CREATE));
         assertTrue(Files.exists(tmpPersistFile));
 
         String persisted = new String(Files.readAllBytes(tmpPersistFile));
@@ -73,7 +69,7 @@ public class JsonUtilsTest {
         assertEquals(expected, persisted);
 
         data = getData("testing2");
-        JsonUtils.writeJsonRoot(data, effectiveSchemaContext, Files.newOutputStream(tmpPersistFile, StandardOpenOption.CREATE));
+        JsonUtils.writeJsonRoot(data, schemaContext, Files.newOutputStream(tmpPersistFile, StandardOpenOption.CREATE));
         persisted = new String(Files.readAllBytes(tmpPersistFile));
         assertEquals(expected.replace("testing", "testing2"), persisted);
 
@@ -84,13 +80,13 @@ public class JsonUtilsTest {
     @Test
     public void testRestore() throws Exception {
         final ContainerNode normalizedNodeOptional = JsonUtils
-            .readJsonRoot(effectiveSchemaContext, getClass().getResourceAsStream("/expected-persisted-output.txt"));
+            .readJsonRoot(schemaContext, getClass().getResourceAsStream("/expected-persisted-output.txt"));
         assertEquals(getData("testing"), normalizedNodeOptional);
     }
 
     @Test(expected = IllegalArgumentException.class)
     public void testRestoreInvalidFile() throws Exception {
-        JsonUtils.readJsonRoot(effectiveSchemaContext, getClass().getResourceAsStream("/test-persistence.yang"));
+        JsonUtils.readJsonRoot(schemaContext, getClass().getResourceAsStream("/test-persistence.yang"));
     }
 
     private ContainerNode getData(final String stringValue) {