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%2Ftransformer%2FNormalizedNodePrunerTest.java;h=2ee859466adffdc4a76de1e9f848d29a9a152b8c;hp=cb82adc58aa4a9a721e74c56c6b4183c6ac3a454;hb=7a0fb19fe86fbf7c7bd78f7e522884b6e477b067;hpb=ff8cfdec9dc97cefbdc459ebe2764a1fb6129775 diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePrunerTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePrunerTest.java index cb82adc58a..2ee859466a 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePrunerTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePrunerTest.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.cluster.datastore.node.utils.transformer; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.any; @@ -24,7 +25,6 @@ import javax.xml.transform.dom.DOMSource; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.opendaylight.controller.cluster.datastore.node.utils.NormalizedNodeNavigator; @@ -32,6 +32,8 @@ import org.opendaylight.controller.cluster.datastore.node.utils.NormalizedNodeVi import org.opendaylight.controller.cluster.datastore.util.TestModel; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +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.stream.NormalizedNodeWriter; @@ -148,7 +150,7 @@ public class NormalizedNodePrunerTest { } - private int countNodes(NormalizedNode normalizedNode, final String namespaceFilter){ + private static int countNodes(NormalizedNode normalizedNode, final String namespaceFilter){ if(normalizedNode == null){ return 0; } @@ -168,26 +170,26 @@ public class NormalizedNodePrunerTest { return count.get(); } - @Test(expected = IllegalStateException.class) + @Test public void testLeafNodeHasNoParent() throws IOException { - prunerFullSchema.leafNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), mock(Object.class)); + NormalizedNode input = Builders.leafBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TestModel.DESC_QNAME)).withValue("test").build(); + NormalizedNodeWriter.forStreamWriter(prunerFullSchema).write(input); + + NormalizedNode actual = prunerFullSchema.normalizedNode(); + assertEquals("normalizedNode", input, actual); } @Test public void testLeafNodeHasParent() throws IOException { - prunerFullSchema.stack().push(normalizedNodeBuilderWrapper); - Object o = mock(Object.class); - prunerFullSchema.leafNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), o); - - ArgumentCaptor captor = ArgumentCaptor.forClass(NormalizedNode.class); - - verify(normalizedNodeContainerBuilder).addChild(captor.capture()); - - NormalizedNode value = captor.getValue(); - assertEquals(normalizedNodeBuilderWrapper.identifier().getNodeType(), value.getNodeType()); - assertEquals(normalizedNodeBuilderWrapper.identifier(), value.getIdentifier()); - assertEquals(o, value.getValue()); - + LeafNode child = Builders.leafBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TestModel.DESC_QNAME)).withValue("test").build(); + NormalizedNode input = Builders.containerBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TestModel.AUG_CONT_QNAME)).withChild(child).build(); + NormalizedNodeWriter.forStreamWriter(prunerFullSchema).write(input); + + NormalizedNode actual = prunerFullSchema.normalizedNode(); + assertEquals("normalizedNode", input, actual); } @Test @@ -197,28 +199,26 @@ public class NormalizedNodePrunerTest { verify(normalizedNodeContainerBuilder, never()).addChild(any(NormalizedNode.class)); } - @Test(expected = IllegalStateException.class) + @Test public void testLeafSetEntryNodeHasNoParent() throws IOException { - prunerFullSchema.leafSetEntryNode(mock(Object.class)); + NormalizedNode input = Builders.leafSetEntryBuilder().withValue("test").withNodeIdentifier( + new YangInstanceIdentifier.NodeWithValue<>(TestModel.FAMILY_QNAME, "test")).build(); + NormalizedNodeWriter.forStreamWriter(prunerFullSchema).write(input); + + NormalizedNode actual = prunerFullSchema.normalizedNode(); + assertEquals("normalizedNode", input, actual); } @Test public void testLeafSetEntryNodeHasParent() throws IOException { - prunerFullSchema.stack().push(normalizedNodeBuilderWrapper); - Object o = mock(Object.class); - YangInstanceIdentifier.PathArgument nodeIdentifier - = new YangInstanceIdentifier.NodeWithValue(normalizedNodeBuilderWrapper.identifier().getNodeType(), o); - prunerFullSchema.leafSetEntryNode(o); - - ArgumentCaptor captor = ArgumentCaptor.forClass(NormalizedNode.class); - - verify(normalizedNodeContainerBuilder).addChild(captor.capture()); - - NormalizedNode value = captor.getValue(); - assertEquals(nodeIdentifier.getNodeType(), value.getNodeType()); - assertEquals(nodeIdentifier, value.getIdentifier()); - assertEquals(o, value.getValue()); - + LeafSetEntryNode child = Builders.leafSetEntryBuilder().withValue("test").withNodeIdentifier( + new YangInstanceIdentifier.NodeWithValue<>(TestModel.FAMILY_QNAME, "test")).build(); + NormalizedNode input = Builders.leafSetBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TestModel.FAMILY_QNAME)).withChild(child).build(); + NormalizedNodeWriter.forStreamWriter(prunerFullSchema).write(input); + + NormalizedNode actual = prunerFullSchema.normalizedNode(); + assertEquals("normalizedNode", input, actual); } @Test @@ -226,31 +226,33 @@ public class NormalizedNodePrunerTest { doReturn(new YangInstanceIdentifier.NodeIdentifier(TestModel.AUG_CONT_QNAME)).when(normalizedNodeBuilderWrapper).identifier(); prunerNoAugSchema.stack().push(normalizedNodeBuilderWrapper); - prunerNoAugSchema.leafSetEntryNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.AUG_CONT_QNAME)); + prunerNoAugSchema.leafSetEntryNode(TestModel.AUG_CONT_QNAME, ""); verify(normalizedNodeContainerBuilder, never()).addChild(any(NormalizedNode.class)); } - @Test(expected = IllegalStateException.class) + @Test public void testAnyXMLNodeHasNoParent() throws IOException { - prunerFullSchema.anyxmlNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), mock(Object.class)); + NormalizedNode input = Builders.anyXmlBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TestModel.CHILD_NAME_QNAME)). + withValue(mock(DOMSource.class)).build(); + NormalizedNodeWriter.forStreamWriter(prunerFullSchema).write(input); + + NormalizedNode actual = prunerFullSchema.normalizedNode(); + assertEquals("normalizedNode", input, actual); } @Test public void testAnyXMLNodeHasParent() throws IOException { - prunerFullSchema.stack().push(normalizedNodeBuilderWrapper); - YangInstanceIdentifier.NodeIdentifier nodeIdentifier = new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME); - DOMSource o = mock(DOMSource.class); - prunerFullSchema.anyxmlNode(nodeIdentifier, o); - - ArgumentCaptor captor = ArgumentCaptor.forClass(NormalizedNode.class); - - verify(normalizedNodeContainerBuilder).addChild(captor.capture()); - - NormalizedNode value = captor.getValue(); - assertEquals(nodeIdentifier.getNodeType(), value.getNodeType()); - assertEquals(nodeIdentifier, value.getIdentifier()); - assertEquals(o, value.getValue()); + AnyXmlNode child = Builders.anyXmlBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TestModel.CHILD_NAME_QNAME)). + withValue(mock(DOMSource.class)).build(); + NormalizedNode input = Builders.containerBuilder().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TestModel.AUG_CONT_QNAME)).withChild(child).build(); + NormalizedNodeWriter.forStreamWriter(prunerFullSchema).write(input); + + NormalizedNode actual = prunerFullSchema.normalizedNode(); + assertEquals("normalizedNode", input, actual); } @Test @@ -259,8 +261,6 @@ public class NormalizedNodePrunerTest { prunerNoAugSchema.anyxmlNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.AUG_CONT_QNAME), mock(DOMSource.class)); verify(normalizedNodeContainerBuilder, never()).addChild(any(NormalizedNode.class)); - - } @@ -269,7 +269,7 @@ public class NormalizedNodePrunerTest { prunerFullSchema.startLeafSet(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), 10); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof ListNodeBuilder); } @@ -278,7 +278,7 @@ public class NormalizedNodePrunerTest { prunerFullSchema.startContainerNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), 10); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof DataContainerNodeAttrBuilder); } @@ -287,7 +287,7 @@ public class NormalizedNodePrunerTest { prunerFullSchema.startUnkeyedList(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), 10); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof CollectionNodeBuilder); } @@ -296,7 +296,7 @@ public class NormalizedNodePrunerTest { prunerFullSchema.startUnkeyedListItem(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), 10); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof DataContainerNodeAttrBuilder); } @@ -305,7 +305,7 @@ public class NormalizedNodePrunerTest { prunerFullSchema.startMapNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), 10); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof CollectionNodeBuilder); } @@ -316,7 +316,7 @@ public class NormalizedNodePrunerTest { ImmutableMap.of(TestModel.BOOLEAN_LEAF_QNAME, "value")), 10); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof DataContainerNodeAttrBuilder); } @@ -325,7 +325,7 @@ public class NormalizedNodePrunerTest { prunerFullSchema.startOrderedMapNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), 10); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof CollectionNodeBuilder); } @@ -334,7 +334,7 @@ public class NormalizedNodePrunerTest { prunerFullSchema.startChoiceNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME), 10); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof DataContainerNodeBuilder); } @@ -343,7 +343,7 @@ public class NormalizedNodePrunerTest { prunerFullSchema.startAugmentationNode(new YangInstanceIdentifier.AugmentationIdentifier(ImmutableSet.of(TestModel.AUG_CONT_QNAME))); assertEquals(1, prunerFullSchema.stack().size()); - assertTrue(prunerFullSchema.stack().peek().toString(), prunerFullSchema.stack().peek() instanceof NormalizedNodeBuilderWrapper); + assertNotNull(prunerFullSchema.stack().peek()); assertTrue(prunerFullSchema.stack().peek().builder().toString(), prunerFullSchema.stack().peek().builder() instanceof DataContainerNodeBuilder); } @@ -380,7 +380,7 @@ public class NormalizedNodePrunerTest { verify(normalizedNodeContainerBuilder).addChild(any(NormalizedNode.class)); } - private NormalizedNode createTestContainer() { + private static NormalizedNode createTestContainer() { byte[] bytes1 = {1,2,3}; LeafSetEntryNode entry1 = ImmutableLeafSetEntryNodeBuilder.create().withNodeIdentifier( new YangInstanceIdentifier.NodeWithValue(TestModel.BINARY_LEAF_LIST_QNAME, bytes1)).