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;
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;
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;
}
- private int countNodes(NormalizedNode<?,?> normalizedNode, final String namespaceFilter){
+ private static int countNodes(NormalizedNode<?,?> normalizedNode, final String namespaceFilter){
if(normalizedNode == null){
return 0;
}
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<NormalizedNode> 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<Object> 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
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<NormalizedNode> 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<Object> 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
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<NormalizedNode> 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
prunerNoAugSchema.anyxmlNode(new YangInstanceIdentifier.NodeIdentifier(TestModel.AUG_CONT_QNAME), mock(DOMSource.class));
verify(normalizedNodeContainerBuilder, never()).addChild(any(NormalizedNode.class));
-
-
}
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);
}
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);
}
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);
}
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);
}
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);
}
ImmutableMap.<QName, Object>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);
}
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);
}
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);
}
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);
}
verify(normalizedNodeContainerBuilder).addChild(any(NormalizedNode.class));
}
- private NormalizedNode<?, ?> createTestContainer() {
+ private static NormalizedNode<?, ?> createTestContainer() {
byte[] bytes1 = {1,2,3};
LeafSetEntryNode<Object> entry1 = ImmutableLeafSetEntryNodeBuilder.create().withNodeIdentifier(
new YangInstanceIdentifier.NodeWithValue(TestModel.BINARY_LEAF_LIST_QNAME, bytes1)).