X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2Ftree%2FBug5968MergeTest.java;h=68900e2ee24177437f76b1438a4f6d75cf6398db;hb=9041b2200d7c48962615f414ed884cb54a7573df;hp=79568b97be02ae01daf9a89fd25ae17bdba75786;hpb=a6ea70c09b13489918c387d54cde8f1095721acc;p=yangtools.git diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug5968MergeTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug5968MergeTest.java index 79568b97be..68900e2ee2 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug5968MergeTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug5968MergeTest.java @@ -8,11 +8,11 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; import com.google.common.collect.ImmutableMap; -import org.junit.Before; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -21,41 +21,45 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException; 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.api.CollectionNodeBuilder; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeAttrBuilder; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; public class Bug5968MergeTest { - private static final String NS = "foo"; + private static final String NS = "bug5968"; private static final String REV = "2016-07-28"; private static final QName ROOT = QName.create(NS, REV, "root"); private static final QName MY_LIST = QName.create(NS, REV, "my-list"); private static final QName LIST_ID = QName.create(NS, REV, "list-id"); private static final QName MANDATORY_LEAF = QName.create(NS, REV, "mandatory-leaf"); private static final QName COMMON_LEAF = QName.create(NS, REV, "common-leaf"); - private SchemaContext schemaContext; + private static EffectiveModelContext SCHEMA_CONTEXT; - @Before - public void init() throws ReactorException { - this.schemaContext = TestModel.createTestContext("/bug5968/foo.yang"); - assertNotNull("Schema context must not be null.", this.schemaContext); + @BeforeClass + public static void beforeClass() { + SCHEMA_CONTEXT = TestModel.createTestContext("/bug5968.yang"); } - private static InMemoryDataTree initDataTree(final SchemaContext schemaContext, final boolean withMapNode) + @AfterClass + public static void afterClass() { + SCHEMA_CONTEXT = null; + } + + private static DataTree initDataTree(final EffectiveModelContext schemaContext, final boolean withMapNode) throws DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = (InMemoryDataTree) InMemoryDataTreeFactory.getInstance().create( - DataTreeConfiguration.DEFAULT_CONFIGURATION); - inMemoryDataTree.setSchemaContext(schemaContext); + final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); - final DataContainerNodeAttrBuilder root = Builders.containerBuilder() + final DataContainerNodeBuilder root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge( YangInstanceIdentifier.of(ROOT), withMapNode ? root.withChild( @@ -70,24 +74,20 @@ public class Bug5968MergeTest { return inMemoryDataTree; } - private static InMemoryDataTree emptyDataTree(final SchemaContext schemaContext) + private static DataTree emptyDataTree(final EffectiveModelContext schemaContext) throws DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = (InMemoryDataTree) InMemoryDataTreeFactory.getInstance().create( - DataTreeConfiguration.DEFAULT_CONFIGURATION); - inMemoryDataTree.setSchemaContext(schemaContext); - - return inMemoryDataTree; + return new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); } @Test - public void mergeInvalidContainerTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); + public void mergeInvalidContainerTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); final MapNode myList = createMap(true); - final DataContainerNodeAttrBuilder root = Builders.containerBuilder() + final DataContainerNodeBuilder root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)).withChild(myList); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), root.build()); try { @@ -97,16 +97,15 @@ public class Bug5968MergeTest { inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { - assertEquals( - "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory " - + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage()); + assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is " + + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage()); } } @Test - public void mergeInvalidMapTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void mergeInvalidMapTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); mergeMap(modificationTree, true); try { @@ -116,16 +115,15 @@ public class Bug5968MergeTest { inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { - assertEquals( - "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory " - + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage()); + assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is " + + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage()); } } @Test - public void mergeInvalidMapEntryTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = initDataTree(schemaContext, true); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void mergeInvalidMapEntryTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); mergeMapEntry(modificationTree, "1", null, "common-value"); @@ -136,13 +134,12 @@ public class Bug5968MergeTest { inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { - assertEquals( - "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory " - + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage()); + assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is " + + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage()); } } - private static void mergeMap(final InMemoryDataTreeModification modificationTree, + private static void mergeMap(final DataTreeModification modificationTree, final boolean mandatoryDataMissing) throws DataValidationFailedException { final MapNode myList = createMap(mandatoryDataMissing); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), myList); @@ -157,21 +154,21 @@ public class Bug5968MergeTest { "mandatory-value", "common-value")).build(); } - private static void mergeMapEntry(final InMemoryDataTreeModification modificationTree, final Object listIdValue, + private static void mergeMapEntry(final DataTreeModification modificationTree, final Object listIdValue, final Object mandatoryLeafValue, final Object commonLeafValue) throws DataValidationFailedException { final MapEntryNode taskEntryNode = mandatoryLeafValue == null ? createMapEntry(listIdValue, commonLeafValue) : createMapEntry(listIdValue, mandatoryLeafValue, commonLeafValue); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))), taskEntryNode); } private static MapEntryNode createMapEntry(final Object listIdValue, final Object mandatoryLeafValue, final Object commonLeafValue) throws DataValidationFailedException { return Builders.mapEntryBuilder() - .withNodeIdentifier(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) + .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) .withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue)) .withChild(ImmutableNodes.leafNode(MANDATORY_LEAF, mandatoryLeafValue)) .withChild(ImmutableNodes.leafNode(COMMON_LEAF, commonLeafValue)).build(); @@ -180,7 +177,7 @@ public class Bug5968MergeTest { private static MapEntryNode createMapEntry(final Object listIdValue, final Object commonLeafValue) throws DataValidationFailedException { return Builders.mapEntryBuilder() - .withNodeIdentifier(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) + .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) .withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue)) .withChild(ImmutableNodes.leafNode(COMMON_LEAF, commonLeafValue)).build(); } @@ -188,20 +185,20 @@ public class Bug5968MergeTest { private static MapEntryNode createMapEntryM(final Object listIdValue, final Object mandatoryLeafValue) throws DataValidationFailedException { return Builders.mapEntryBuilder() - .withNodeIdentifier(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) + .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) .withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue)) .withChild(ImmutableNodes.leafNode(MANDATORY_LEAF, mandatoryLeafValue)).build(); } @Test - public void mergeValidContainerTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); + public void mergeValidContainerTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); final MapNode myList = createMap(false); - final DataContainerNodeAttrBuilder root = Builders.containerBuilder() + final DataContainerNodeBuilder root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)).withChild(myList); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), root.build()); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); @@ -210,9 +207,9 @@ public class Bug5968MergeTest { } @Test - public void mergeValidMapTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void mergeValidMapTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); mergeMap(modificationTree, false); modificationTree.ready(); @@ -222,9 +219,9 @@ public class Bug5968MergeTest { } @Test - public void mergeValidMapEntryTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = initDataTree(schemaContext, true); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void mergeValidMapEntryTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); mergeMapEntry(modificationTree, "1", "mandatory-value", "common-value"); @@ -235,19 +232,19 @@ public class Bug5968MergeTest { } @Test - public void validMultiStepsMergeTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void validMultiStepsMergeTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createEmptyMapEntryBuilder("1").build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntry("1", "mandatory-value", "common-value")); modificationTree.ready(); @@ -257,19 +254,19 @@ public class Bug5968MergeTest { } @Test - public void invalidMultiStepsMergeTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void invalidMultiStepsMergeTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createEmptyMapEntryBuilder("1").build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntry("1", "common-value")); try { @@ -279,16 +276,15 @@ public class Bug5968MergeTest { inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { - assertEquals( - "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory " - + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage()); + assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is " + + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage()); } } - private static DataContainerNodeAttrBuilder createEmptyMapEntryBuilder( + private static DataContainerNodeBuilder createEmptyMapEntryBuilder( final Object listIdValue) throws DataValidationFailedException { return Builders.mapEntryBuilder() - .withNodeIdentifier(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) + .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) .withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue)); } @@ -296,24 +292,24 @@ public class Bug5968MergeTest { return Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(MY_LIST)); } - private static DataContainerNodeAttrBuilder createContainerBuilder() { + private static DataContainerNodeBuilder createContainerBuilder() { return Builders.containerBuilder().withNodeIdentifier(new NodeIdentifier(ROOT)); } @Test - public void validMultiStepsWriteAndMergeTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void validMultiStepsWriteAndMergeTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createEmptyMapEntryBuilder("1").build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntry("1", "mandatory-value", "common-value")); modificationTree.ready(); @@ -323,19 +319,19 @@ public class Bug5968MergeTest { } @Test - public void invalidMultiStepsWriteAndMergeTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void invalidMultiStepsWriteAndMergeTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createEmptyMapEntryBuilder("1").build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntry("1", "common-value")); try { @@ -345,26 +341,25 @@ public class Bug5968MergeTest { inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { - assertEquals( - "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory " - + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage()); + assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is " + + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage()); } } @Test - public void validMapEntryMultiCommitMergeTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void validMapEntryMultiCommitMergeTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createEmptyMapEntryBuilder("1").build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntryM("1", "mandatory-value")); modificationTree.ready(); @@ -372,10 +367,10 @@ public class Bug5968MergeTest { final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); - final InMemoryDataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree2.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntry("1", "common-value")); modificationTree2.ready(); inMemoryDataTree.validate(modificationTree2); @@ -384,19 +379,19 @@ public class Bug5968MergeTest { } @Test - public void invalidMapEntryMultiCommitMergeTest() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + public void invalidMapEntryMultiCommitMergeTest() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createEmptyMapEntryBuilder("1").build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntryM("1", "mandatory-value")); modificationTree.ready(); @@ -404,18 +399,18 @@ public class Bug5968MergeTest { final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); - final InMemoryDataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree2.write( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntry("1", "common-value")); modificationTree2.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntryM("1", "mandatory-value")); modificationTree2.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "2"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "2"))), createMapEntry("2", "common-value")); try { modificationTree2.ready(); @@ -424,32 +419,31 @@ public class Bug5968MergeTest { inMemoryDataTree.commit(prepare2); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { - assertEquals( - "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=2}] is missing mandatory " - + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage()); + assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=2}] is " + + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage()); } } - @Test /* * This test consists of two transactions (i.e. data tree modifications) on * empty data tree. The first one writes mandatory data and second one * writes common data without any mandatory data. */ - public void validMapEntryMultiCommitMergeTest2() throws ReactorException, DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final InMemoryDataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + @Test + public void validMapEntryMultiCommitMergeTest2() throws DataValidationFailedException { + final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createEmptyMapEntryBuilder("1").build()); modificationTree.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntryM("1", "mandatory-value")); modificationTree.ready(); @@ -459,7 +453,7 @@ public class Bug5968MergeTest { modificationTree2.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) - .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), + .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntry("1", "common-value")); modificationTree2.ready(); inMemoryDataTree.validate(modificationTree2);