X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDataTreeCandidatePayloadTest.java;h=07ccce25ca420e5e4b5d9179a0248fa9f131b7bb;hp=781c3dba71f7dbfdf5078e9ac25dac2a373292ab;hb=b14856a01f6515e6063f82e5fb448f7e9a57029b;hpb=e20fff4d018e95cefd1934d2be31e5cd692fe7fa diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCandidatePayloadTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCandidatePayloadTest.java index 781c3dba71..07ccce25ca 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCandidatePayloadTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCandidatePayloadTest.java @@ -16,17 +16,23 @@ import java.util.Collection; import org.apache.commons.lang3.SerializationUtils; import org.junit.Before; import org.junit.Test; +import org.opendaylight.controller.md.cluster.datastore.model.TestModel; +import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; +import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidates; +import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; -import org.opendaylight.controller.md.cluster.datastore.model.TestModel; public class DataTreeCandidatePayloadTest { + static final QName LEAF_SET = QName.create(TestModel.TEST_QNAME, "leaf-set"); + private DataTreeCandidate candidate; private static DataTreeCandidateNode findNode(final Collection nodes, final PathArgument arg) { @@ -120,4 +126,62 @@ public class DataTreeCandidatePayloadTest { final DataTreeCandidatePayload payload = DataTreeCandidatePayload.create(candidate); assertCandidateEquals(candidate, SerializationUtils.clone(payload).getCandidate()); } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Test + public void testLeafSetEntryNodeCandidate() throws Exception { + YangInstanceIdentifier.NodeWithValue entryPathArg = new YangInstanceIdentifier.NodeWithValue(LEAF_SET, "one"); + YangInstanceIdentifier leafSetEntryPath = YangInstanceIdentifier.builder(TestModel.TEST_PATH).node(LEAF_SET) + .node(entryPathArg).build(); + + NormalizedNode leafSetEntryNode = Builders.leafSetEntryBuilder(). + withNodeIdentifier(entryPathArg).withValue("one").build(); + + DataTreeCandidate candidate = DataTreeCandidates.fromNormalizedNode(leafSetEntryPath, leafSetEntryNode); + DataTreeCandidatePayload payload = DataTreeCandidatePayload.create(candidate); + assertCandidateEquals(candidate, payload.getCandidate()); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Test + public void testLeafSetNodeCandidate() throws Exception { + YangInstanceIdentifier.NodeWithValue entryPathArg = new YangInstanceIdentifier.NodeWithValue(LEAF_SET, "one"); + YangInstanceIdentifier leafSetPath = YangInstanceIdentifier.builder(TestModel.TEST_PATH).node(LEAF_SET).build(); + + LeafSetEntryNode leafSetEntryNode = Builders.leafSetEntryBuilder(). + withNodeIdentifier(entryPathArg).withValue("one").build(); + NormalizedNode leafSetNode = Builders.leafSetBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(LEAF_SET)).withChild(leafSetEntryNode).build(); + + DataTreeCandidate candidate = DataTreeCandidates.fromNormalizedNode(leafSetPath, leafSetNode); + DataTreeCandidatePayload payload = DataTreeCandidatePayload.create(candidate); + assertCandidateEquals(candidate, payload.getCandidate()); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Test + public void testOrderedLeafSetNodeCandidate() throws Exception { + YangInstanceIdentifier.NodeWithValue entryPathArg = new YangInstanceIdentifier.NodeWithValue(LEAF_SET, "one"); + YangInstanceIdentifier leafSetPath = YangInstanceIdentifier.builder(TestModel.TEST_PATH).node(LEAF_SET).build(); + + LeafSetEntryNode leafSetEntryNode = Builders.leafSetEntryBuilder(). + withNodeIdentifier(entryPathArg).withValue("one").build(); + NormalizedNode leafSetNode = Builders.orderedLeafSetBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(LEAF_SET)).withChild(leafSetEntryNode).build(); + + DataTreeCandidate candidate = DataTreeCandidates.fromNormalizedNode(leafSetPath, leafSetNode); + DataTreeCandidatePayload payload = DataTreeCandidatePayload.create(candidate); + assertCandidateEquals(candidate, payload.getCandidate()); + } + + @Test + public void testLeafNodeCandidate() throws Exception { + YangInstanceIdentifier leafPath = YangInstanceIdentifier.builder(TestModel.TEST_PATH).node(TestModel.DESC_QNAME).build(); + LeafNode leafNode = Builders.leafBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TestModel.DESC_QNAME)).withValue("test").build(); + + DataTreeCandidate candidate = DataTreeCandidates.fromNormalizedNode(leafPath, leafNode); + DataTreeCandidatePayload payload = DataTreeCandidatePayload.create(candidate); + assertCandidateEquals(candidate, payload.getCandidate()); + } }