From 548d175b3ebb0bdefe6d5073f039aa18ccd0ad81 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 24 Sep 2019 15:16:15 +0200 Subject: [PATCH] Add an explicit namespace sharing test This adds a test to target QName/QNameModule/String reference differentiation. JIRA: CONTROLLER-1919 Change-Id: Iad736a81f627da4a04753b380acb530ccc8ba219 Signed-off-by: Robert Varga --- .../utils/stream/SerializationUtilsTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/SerializationUtilsTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/SerializationUtilsTest.java index ad548340e3..388842661c 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/SerializationUtilsTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/SerializationUtilsTest.java @@ -29,6 +29,7 @@ import org.junit.Test; import org.opendaylight.yangtools.util.xml.UntrustedXML; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; @@ -116,6 +117,25 @@ public class SerializationUtilsTest { assertTrue(applierCalled.get()); } + @Test + public void testSerializeDeserializeAugmentNoref() throws IOException { + final YangInstanceIdentifier expected = YangInstanceIdentifier.create( + AugmentationIdentifier.create(ImmutableSet.of( + QName.create("foo", "leaf1"), + QName.create("bar", "leaf2")))); + + final ByteArrayOutputStream bos = new ByteArrayOutputStream(); + final DataOutput out = new DataOutputStream(bos); + SerializationUtils.writePath(out, expected); + + final byte[] bytes = bos.toByteArray(); + assertEquals(47, bytes.length); + + final DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes)); + final YangInstanceIdentifier read = SerializationUtils.readPath(in); + assertEquals(expected, read); + } + private static NormalizedNode deserializeNormalizedNode(final byte[] bytes) throws IOException { return SerializationUtils.readNormalizedNode(new DataInputStream(new ByteArrayInputStream(bytes))).get(); } -- 2.36.6