X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-codec-gson%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fcodec%2Fgson%2Fretest%2FYangModeledAnyXmlSupportTest.java;h=a9baac8decb81fe93491e7cb29d06004c1e479a4;hb=b52c1ffb0df2b84665b4d222166a3e4cdb8427bb;hp=0b368916cf92621965c7a7f5b4c5a620cf1f0c35;hpb=4d8d405cb27c07e48a4d308766dafb66b372c25c;p=yangtools.git diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/retest/YangModeledAnyXmlSupportTest.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/retest/YangModeledAnyXmlSupportTest.java index 0b368916cf..a9baac8dec 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/retest/YangModeledAnyXmlSupportTest.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/retest/YangModeledAnyXmlSupportTest.java @@ -9,14 +9,17 @@ package org.opendaylight.yangtools.yang.data.codec.gson.retest; import static org.junit.Assert.assertEquals; import static org.opendaylight.yangtools.yang.data.codec.gson.retest.TestUtils.loadModules; +import static org.opendaylight.yangtools.yang.data.codec.gson.retest.TestUtils.loadTextFile; import com.google.common.base.Preconditions; import com.google.gson.JsonElement; import com.google.gson.JsonParser; +import com.google.gson.stream.JsonReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; +import java.io.StringReader; import java.io.StringWriter; import java.io.Writer; import java.net.URISyntaxException; @@ -35,7 +38,10 @@ import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStre import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactory; import org.opendaylight.yangtools.yang.data.codec.gson.JSONNormalizedNodeStreamWriter; +import org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream; import org.opendaylight.yangtools.yang.data.codec.gson.JsonWriterFactory; +import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; +import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; import org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.DomUtils; import org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.parser.DomToNormalizedNodeParserFactory; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -73,6 +79,18 @@ public class YangModeledAnyXmlSupportTest { .parse(Collections.singletonList(xmlDoc.getDocumentElement()), schemaContext); } + @Test + public void jsonToNormalizedNodesTest() throws IOException, URISyntaxException, SAXException { + final String inputJson = loadTextFile("/yang-modeled-anyxml/json/baz.json"); + final NormalizedNodeResult result = new NormalizedNodeResult(); + final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result); + final JsonParserStream jsonParser = JsonParserStream.create(streamWriter, schemaContext); + jsonParser.parse(new JsonReader(new StringReader(inputJson))); + final NormalizedNode transformedInput = result.getResult(); + + assertEquals(data.getValue().iterator().next(), transformedInput); + } + @Test public void normalizedNodesToJsonTest() throws IOException, URISyntaxException, SAXException { final DataContainerChild baz = data.getValue().iterator().next(); @@ -122,4 +140,4 @@ public class YangModeledAnyXmlSupportTest { return doc; } -} +} \ No newline at end of file