X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2Fserialization%2FNormalizedNodeSerializerTest.java;h=bcc0fd85d0f343f7b1e9ec02ed6c4a6aec1f4027;hp=cdb2e69e831eb67cab28311919f9d30e0698d7ec;hb=819b04091a3d4d96612a1036228638a3b4e85d09;hpb=5f75b6a1adb084c18495edf86cd0844ede414651 diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/serialization/NormalizedNodeSerializerTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/serialization/NormalizedNodeSerializerTest.java index cdb2e69e83..bcc0fd85d0 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/serialization/NormalizedNodeSerializerTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/serialization/NormalizedNodeSerializerTest.java @@ -1,15 +1,20 @@ package org.opendaylight.controller.cluster.datastore.node.utils.serialization; +import com.google.common.base.Optional; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.opendaylight.controller.cluster.datastore.util.TestModel; import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; public class NormalizedNodeSerializerTest { @@ -49,6 +54,37 @@ public class NormalizedNodeSerializerTest { // created by serializing the original node and deSerializing it back. assertEquals(expectedNode, actualNode); + byte[] binaryData = new byte[5]; + for(byte i=0;i<5;i++){ + binaryData[i] = i; + } + + ContainerNode node1 = TestModel.createBaseTestContainerBuilder() + .withChild(ImmutableNodes.leafNode(TestModel.SOME_BINARY_DATE_QNAME, binaryData)) + .build(); + + NormalizedNodeMessages.Node serializedNode1 = NormalizedNodeSerializer + .serialize(node1); + + ContainerNode node2 = + (ContainerNode) NormalizedNodeSerializer.deSerialize(serializedNode1); + + + // FIXME: This will not work due to BUG 2326. Once that is fixed we can uncomment this assertion + // assertEquals(node1, node2); + + Optional> child = node2.getChild(new YangInstanceIdentifier.NodeIdentifier(TestModel.SOME_BINARY_DATE_QNAME)); + + Object value = child.get().getValue(); + + assertTrue("value should be of type byte[]", value instanceof byte[]); + + byte[] bytesValue = (byte[]) value; + + for(byte i=0;i<5;i++){ + assertEquals(i, bytesValue[i]); + } + } @Test(expected = NullPointerException.class)