From 1b574779597a6b4c06d9a4bc74dd0ef2763ae605 Mon Sep 17 00:00:00 2001 From: "matus.matok" Date: Thu, 13 Jul 2023 09:46:33 +0200 Subject: [PATCH] Migrate yang-data-tree-ri to JUnit5 Migrated all tests to use JUnit5 Assertions, using openrewrite:rewrite-testing-frameworks. Removed declarations of never thrown exceptions. Manually refactored variable modifiers and used 'var' wherever possible JIRA: YANGTOOLS-1521 Change-Id: I4870be9af36c1e8924323e671c02dbbab42b83a5 Signed-off-by: matus.matok Signed-off-by: Robert Varga --- .../tree/impl/AbstractPrettyTreeTest.java | 67 ++-- .../data/tree/impl/AbstractTestModelTest.java | 14 +- .../yang/data/tree/impl/Bug2690Test.java | 56 ++-- .../yang/data/tree/impl/Bug3674Test.java | 29 +- .../yang/data/tree/impl/Bug4295Test.java | 14 +- .../yang/data/tree/impl/Bug4454Test.java | 196 ++++++------ .../yang/data/tree/impl/Bug5830Test.java | 100 +++--- .../yang/data/tree/impl/Bug5968MergeTest.java | 168 +++++----- .../yang/data/tree/impl/Bug5968Test.java | 92 +++--- .../yang/data/tree/impl/Bug8291Test.java | 44 ++- .../yang/data/tree/impl/CaseAugmentTest.java | 50 ++- .../data/tree/impl/CaseExclusionTest.java | 135 ++++---- .../impl/ConcurrentTreeModificationTest.java | 295 +++++++++--------- .../impl/ConfigStatementValidationTest.java | 126 ++++---- .../tree/impl/DataTreeCandidatesTest.java | 97 +++--- .../tree/impl/DataTreeTransactionTest.java | 40 ++- .../data/tree/impl/ErrorReportingTest.java | 27 +- .../tree/impl/ListConstraintsValidation.java | 196 ++++++------ .../data/tree/impl/MandatoryLeafTest.java | 200 ++++++------ .../yang/data/tree/impl/MapEntryRootTest.java | 25 +- .../impl/ModificationMetadataTreeTest.java | 61 ++-- .../impl/NormalizedNodePrettyTreeTest.java | 30 +- .../yang/data/tree/impl/OrderedListTest.java | 106 +++---- .../data/tree/impl/StoreTreeNodesTest.java | 75 +++-- .../impl/StructuralApplyModificationTest.java | 59 ++-- .../yang/data/tree/impl/TestModel.java | 2 +- .../data/tree/impl/UniqueConstraintTest.java | 90 +++--- .../yang/data/tree/impl/YT1104Test.java | 29 +- .../yang/data/tree/impl/YT1276Test.java | 84 ++--- .../yang/data/tree/impl/YT776Test.java | 62 ++-- .../tree/impl/node/TreeNodeFactoryTest.java | 38 +-- .../yang/data/tree/impl/node/VersionTest.java | 30 +- .../yang/data/tree/leafref/Bug7844Test.java | 40 ++- .../yang/data/tree/leafref/Bug8713Test.java | 24 +- .../DataTreeCandidateValidatorTest.java | 90 +++--- .../DataTreeCandidateValidatorTest2.java | 34 +- .../DataTreeCandidateValidatorTest3.java | 45 ++- .../data/tree/leafref/LeafRefContextTest.java | 51 ++- .../LeafRefContextTreeBuilderTest.java | 129 ++++---- .../yang/data/tree/leafref/YT821Test.java | 74 ++--- .../yang/data/tree/leafref/YT891Test.java | 66 ++-- .../yang/data/tree/leafref/YT892Test.java | 21 +- 42 files changed, 1559 insertions(+), 1652 deletions(-) diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractPrettyTreeTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractPrettyTreeTest.java index 7574b2dd6c..916133b0a1 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractPrettyTreeTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractPrettyTreeTest.java @@ -7,11 +7,6 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.leafNode; -import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntry; -import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; -import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; - import java.util.List; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -20,7 +15,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.AnydataNode; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; 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.LeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; @@ -31,7 +25,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.UserMapNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; -public abstract class AbstractPrettyTreeTest { +abstract class AbstractPrettyTreeTest { protected static final QName ROOT_QNAME = QName.create( "urn:opendaylight:controller:sal:dom:store:test", "2014-03-13", "root"); protected static final QName ANOTHER_QNAME = QName.create( @@ -115,17 +109,19 @@ public abstract class AbstractPrettyTreeTest { } protected static MapNode createMapNode() { - return mapNodeBuilder(LIST_A_QNAME) - .withChild(mapEntry(LIST_A_QNAME, LEAF_A_QNAME, "foo")) - .withChild(createMapEntryNode()).build(); + return ImmutableNodes.mapNodeBuilder(LIST_A_QNAME) + .withChild(ImmutableNodes.mapEntry(LIST_A_QNAME, LEAF_A_QNAME, "foo")) + .withChild(createMapEntryNode()) + .build(); } protected static MapEntryNode createMapEntryNode() { - return mapEntryBuilder(LIST_A_QNAME, LEAF_A_QNAME, "bar") - .withChild(mapNodeBuilder(LIST_B_QNAME) - .withChild(mapEntry(LIST_B_QNAME, LEAF_B_QNAME, "one")) - .withChild(mapEntry(LIST_B_QNAME, LEAF_B_QNAME, "two")) - .build()).build(); + return ImmutableNodes.mapEntryBuilder(LIST_A_QNAME, LEAF_A_QNAME, "bar") + .withChild(ImmutableNodes.mapNodeBuilder(LIST_B_QNAME) + .withChild(ImmutableNodes.mapEntry(LIST_B_QNAME, LEAF_B_QNAME, "one")) + .withChild(ImmutableNodes.mapEntry(LIST_B_QNAME, LEAF_B_QNAME, "two")) + .build()) + .build(); } protected static ChoiceNode createChoiceNode() { @@ -136,14 +132,14 @@ public abstract class AbstractPrettyTreeTest { } protected static LeafNode createAugmentedLeafNode() { - return leafNode(AUGMENT_QNAME, "Augmented leaf value"); + return ImmutableNodes.leafNode(AUGMENT_QNAME, "Augmented leaf value"); } protected static ContainerNode createContainerFromAnotherNamespace() { return Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ANOTHER_QNAME)) - .withChild(mapNodeBuilder(LIST_ANOTHER_NAMESPACE_QNAME) - .withChild(mapEntry(LIST_ANOTHER_NAMESPACE_QNAME, LEAF_ANOTHER_NAMESPACE_QNAME, + .withChild(ImmutableNodes.mapNodeBuilder(LIST_ANOTHER_NAMESPACE_QNAME) + .withChild(ImmutableNodes.mapEntry(LIST_ANOTHER_NAMESPACE_QNAME, LEAF_ANOTHER_NAMESPACE_QNAME, "Leaf from another namespace value")) .build()) .build(); @@ -154,7 +150,7 @@ public abstract class AbstractPrettyTreeTest { } protected static LeafSetNode createLeafSetNode() { - final String value = "Leaf set value"; + final var value = "Leaf set value"; return Builders.leafSetBuilder() .withNodeIdentifier(NodeIdentifier.create(LEAF_SET_QNAME)) .withValue(List.of(Builders.leafSetEntryBuilder() @@ -165,40 +161,39 @@ public abstract class AbstractPrettyTreeTest { } protected static UserLeafSetNode createUserLeafSetNode() { - final String value = "User leaf set value"; - final LeafSetEntryNode leafSetValue = Builders.leafSetEntryBuilder() + final var value = "User leaf set value"; + return Builders.orderedLeafSetBuilder() + .withNodeIdentifier(NodeIdentifier.create(USER_LEAF_SET_QNAME)) + .withChild(Builders.leafSetEntryBuilder() .withNodeIdentifier(new NodeWithValue<>(USER_LEAF_SET_QNAME, value)) .withValue(value) - .build(); - return Builders.orderedLeafSetBuilder() - .withNodeIdentifier(NodeIdentifier.create(USER_LEAF_SET_QNAME)) - .withValue(List.of(leafSetValue)) - .build(); + .build()) + .build(); } protected static UserMapNode createUserMapNode() { return Builders.orderedMapBuilder() - .withNodeIdentifier(NodeIdentifier.create(USER_MAP_QNAME)) - .withValue(List.of(createUserMapEntryNode())) - .build(); + .withNodeIdentifier(NodeIdentifier.create(USER_MAP_QNAME)) + .withChild(createUserMapEntryNode()) + .build(); } protected static MapEntryNode createUserMapEntryNode() { - return mapEntry(USER_MAP_QNAME, USER_MAP_ENTRY_QNAME, "User map entry value"); + return ImmutableNodes.mapEntry(USER_MAP_QNAME, USER_MAP_ENTRY_QNAME, "User map entry value"); } protected static UnkeyedListNode createUnkeyedListNode() { return Builders.unkeyedListBuilder() - .withNodeIdentifier(NodeIdentifier.create(UNKEYED_LIST_QNAME)) - .withChild(createUnkeyedListEntryNode()) - .build(); + .withNodeIdentifier(NodeIdentifier.create(UNKEYED_LIST_QNAME)) + .withChild(createUnkeyedListEntryNode()) + .build(); } protected static UnkeyedListEntryNode createUnkeyedListEntryNode() { return Builders.unkeyedListEntryBuilder() - .withNodeIdentifier(NodeIdentifier.create(UNKEYED_LIST_ENTRY_QNAME)) - .withChild(leafNode(UNKEYED_LIST_LEAF_QNAME, "Unkeyed list leaf value")) - .build(); + .withNodeIdentifier(NodeIdentifier.create(UNKEYED_LIST_ENTRY_QNAME)) + .withChild(ImmutableNodes.leafNode(UNKEYED_LIST_LEAF_QNAME, "Unkeyed list leaf value")) + .build(); } protected static AnydataNode createAnyDataNode() { diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractTestModelTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractTestModelTest.java index 4cf909240c..cfac3972b8 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractTestModelTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractTestModelTest.java @@ -7,20 +7,20 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -public abstract class AbstractTestModelTest { +abstract class AbstractTestModelTest { static EffectiveModelContext SCHEMA_CONTEXT; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static final void beforeClass() { SCHEMA_CONTEXT = TestModel.createTestContext(); } - @AfterClass - public static void afterClass() { + @AfterAll + static final void afterClass() { SCHEMA_CONTEXT = null; } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug2690Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug2690Test.java index 5139361c65..eb6ff6cd8a 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug2690Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug2690Test.java @@ -7,90 +7,84 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; -import java.util.Optional; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -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.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; -import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; -public class Bug2690Test extends AbstractTestModelTest { +class Bug2690Test extends AbstractTestModelTest { private DataTree inMemoryDataTree; - @Before - public void prepare() { + @BeforeEach + void prepare() { inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT); } @Test - public void testWriteMerge1() throws DataValidationFailedException { - final MapEntryNode fooEntryNode = ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 1); - final MapEntryNode barEntryNode = ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 2); - final SystemMapNode mapNode1 = ImmutableNodes.mapNodeBuilder() + void testWriteMerge1() throws DataValidationFailedException { + final var fooEntryNode = ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 1); + final var barEntryNode = ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 2); + final var mapNode1 = ImmutableNodes.mapNodeBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.OUTER_LIST_QNAME)) .withChild(fooEntryNode).build(); - final SystemMapNode mapNode2 = ImmutableNodes.mapNodeBuilder() + final var mapNode2 = ImmutableNodes.mapNodeBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.OUTER_LIST_QNAME)) .withChild(barEntryNode).build(); - final ContainerNode cont1 = Builders.containerBuilder() + final var cont1 = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild(mapNode1).build(); - final ContainerNode cont2 = Builders.containerBuilder() + final var cont2 = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild(mapNode2).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(TestModel.TEST_PATH, cont1); modificationTree.merge(TestModel.TEST_PATH, cont2); commit(modificationTree); - final DataTreeSnapshot snapshotAfterTx = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationAfterTx = snapshotAfterTx.newModification(); - final Optional readNode = modificationAfterTx.readNode(TestModel.OUTER_LIST_PATH); + final var snapshotAfterTx = inMemoryDataTree.takeSnapshot(); + final var modificationAfterTx = snapshotAfterTx.newModification(); + final var readNode = modificationAfterTx.readNode(TestModel.OUTER_LIST_PATH); assertTrue(readNode.isPresent()); assertEquals(2, ((NormalizedNodeContainer)readNode.orElseThrow()).size()); } @Test - public void testDeleteStructuralAndWriteChild() throws DataValidationFailedException { - final DataTreeModification modificationTree = setupTestDeleteStructuralAndWriteChild(); + void testDeleteStructuralAndWriteChild() throws DataValidationFailedException { + final var modificationTree = setupTestDeleteStructuralAndWriteChild(); verifyTestDeleteStructuralAndWriteChild(modificationTree); } @Test - public void testDeleteStructuralAndWriteChildWithCommit() throws DataValidationFailedException { - final DataTreeModification modificationTree = setupTestDeleteStructuralAndWriteChild(); + void testDeleteStructuralAndWriteChildWithCommit() throws DataValidationFailedException { + final var modificationTree = setupTestDeleteStructuralAndWriteChild(); commit(modificationTree); verifyTestDeleteStructuralAndWriteChild(inMemoryDataTree.takeSnapshot()); } private DataTreeModification setupTestDeleteStructuralAndWriteChild() { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.delete(TestModel.NON_PRESENCE_PATH); modificationTree.write(TestModel.NAME_PATH, ImmutableNodes.leafNode(TestModel.NAME_QNAME, "abc")); return modificationTree; } private static void verifyTestDeleteStructuralAndWriteChild(final DataTreeSnapshot snapshot) { - final Optional readNode = snapshot.readNode(TestModel.NAME_PATH); + final var readNode = snapshot.readNode(TestModel.NAME_PATH); assertTrue(readNode.isPresent()); } @@ -98,7 +92,7 @@ public class Bug2690Test extends AbstractTestModelTest { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug3674Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug3674Test.java index efc686b329..c4b31d99ac 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug3674Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug3674Test.java @@ -7,16 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.api.ModificationType; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; @@ -26,28 +22,25 @@ import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory * DataTreeModification, but should appear as UNMODIFIED in the * resulting DataTreeCandidate. */ -public class Bug3674Test extends AbstractTestModelTest { +class Bug3674Test extends AbstractTestModelTest { private DataTree tree; - @Before - public void setUp() throws DataValidationFailedException { + @Test + void testDeleteOfNonExistingNode() throws DataValidationFailedException { tree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT); // Create the top-level container - final DataTreeModification mod = tree.takeSnapshot().newModification(); + final var mod = tree.takeSnapshot().newModification(); mod.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); mod.ready(); tree.commit(tree.prepare(mod)); - } - @Test - public void testDeleteOfNonExistingNode() throws DataValidationFailedException { - final DataTreeModification mod = tree.takeSnapshot().newModification(); - mod.delete(TestModel.OUTER_LIST_PATH); - mod.ready(); + final var mod2 = tree.takeSnapshot().newModification(); + mod2.delete(TestModel.OUTER_LIST_PATH); + mod2.ready(); - final DataTreeCandidate candidate = tree.prepare(mod); - final DataTreeCandidateNode root = candidate.getRootNode(); + final var candidate = tree.prepare(mod2); + final var root = candidate.getRootNode(); assertEquals(ModificationType.UNMODIFIED, root.modificationType()); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4295Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4295Test.java index a02c512b0a..13544ac2d0 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4295Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4295Test.java @@ -7,8 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.XMLNamespace; @@ -29,7 +28,7 @@ import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedExcepti import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class Bug4295Test { +class Bug4295Test { private DataTree inMemoryDataTree; private QName root; @@ -42,8 +41,8 @@ public class Bug4295Test { private QName ileaf; private QNameModule foo; - @Before - public void init() { + @Test + void test() throws DataValidationFailedException { foo = QNameModule.create(XMLNamespace.of("foo")); root = QName.create(foo, "root"); subRoot = QName.create(foo, "sub-root"); @@ -54,7 +53,7 @@ public class Bug4295Test { oleaf = QName.create(foo, "o"); ileaf = QName.create(foo, "i"); inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, - YangParserTestUtils.parseYang(""" + YangParserTestUtils.parseYang(""" module foo { namespace "foo"; prefix foo; @@ -82,10 +81,7 @@ public class Bug4295Test { } } }""")); - } - @Test - public void test() throws DataValidationFailedException { firstModification(); secondModification(1); secondModification(2); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4454Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4454Test.java index a0f15f361b..8b191d706d 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4454Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4454Test.java @@ -7,21 +7,19 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static junit.framework.TestCase.assertFalse; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import java.util.Collection; import java.util.HashMap; -import java.util.Map; import java.util.Optional; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -29,26 +27,20 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.DistinctNodeContainer; -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.LeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; -import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class Bug4454Test { +class Bug4454Test { private static final QName MASTER_CONTAINER_QNAME = QName .create("urn:opendaylight:params:xml:ns:yang:list-constraints-validation-test-model", "2015-02-02", @@ -105,8 +97,8 @@ public class Bug4454Test { private DataTree inMemoryDataTree; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { schemaContext = YangParserTestUtils.parseYang(""" module Bug4454Test { yang-version 1; @@ -161,17 +153,17 @@ public class Bug4454Test { }"""); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { schemaContext = null; } - @Before - public void prepare() throws DataValidationFailedException { + @BeforeEach + void prepare() throws DataValidationFailedException { inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, schemaContext); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree = initialDataTreeSnapshot.newModification(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var modificationTree = initialDataTreeSnapshot.newModification(); modificationTree.write(MASTER_CONTAINER_PATH, ImmutableNodes.containerNode(MASTER_CONTAINER_QNAME)); modificationTree.ready(); @@ -179,15 +171,15 @@ public class Bug4454Test { } @Test - public void minMaxListDeleteWriteTest() throws DataValidationFailedException { - final DataTreeModification modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); + void minMaxListDeleteWriteTest() throws DataValidationFailedException { + final var modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); - Map key = new HashMap<>(); + final var key = new HashMap(); key.put(MIN_MAX_KEY_LEAF_QNAME, "foo"); - NodeIdentifierWithPredicates mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME , key); + var mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME , key); - final YangInstanceIdentifier minMaxLeafFoo = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) + final var minMaxLeafFoo = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) .node(MIN_MAX_LIST_QNAME).node(mapEntryPath2).build(); key.clear(); @@ -195,15 +187,15 @@ public class Bug4454Test { mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, key); - final YangInstanceIdentifier minMaxLeafNel = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) + final var minMaxLeafNel = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) .node(MIN_MAX_LIST_QNAME).node(mapEntryPath2).build(); - final Map keyTemp = new HashMap<>(); + final var keyTemp = new HashMap(); keyTemp.put(MIN_MAX_KEY_LEAF_QNAME, "baz"); - NodeIdentifierWithPredicates mapEntryPathTest = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME , keyTemp); + var mapEntryPathTest = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME , keyTemp); - final YangInstanceIdentifier pathToBaz = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) + final var pathToBaz = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) .node(MIN_MAX_LIST_QNAME).node(mapEntryPathTest).node(MIN_MAX_VALUE_LEAF_QNAME).build(); keyTemp.clear(); @@ -211,27 +203,27 @@ public class Bug4454Test { mapEntryPathTest = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME , keyTemp); - final YangInstanceIdentifier pathToBar = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) + final var pathToBar = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) .node(MIN_MAX_LIST_QNAME).node(mapEntryPathTest).node(MIN_MAX_VALUE_LEAF_QNAME).build(); keyTemp.clear(); keyTemp.put(MIN_MAX_KEY_LEAF_QNAME, "foo"); - final NodeIdentifierWithPredicates mapEntryPathTestKey = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, + final var mapEntryPathTestKey = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, keyTemp); - final YangInstanceIdentifier pathToKeyFoo = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) + final var pathToKeyFoo = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) .node(MIN_MAX_LIST_QNAME).node(mapEntryPathTestKey).node(MIN_MAX_KEY_LEAF_QNAME).build(); - final LeafNode newNode = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test"); - final LeafNode newNode1 = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test1"); - final LeafNode newNode2 = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test2"); - final LeafNode newNodekey = ImmutableNodes.leafNode(MIN_MAX_KEY_LEAF_QNAME, "foo"); + final var newNode = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test"); + final var newNode1 = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test1"); + final var newNode2 = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test2"); + final var newNodekey = ImmutableNodes.leafNode(MIN_MAX_KEY_LEAF_QNAME, "foo"); assertFalse(inMemoryDataTree.toString().contains("list")); - DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); - Optional minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH); + final var snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); + var minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH); assertFalse(minMaxListRead.isPresent()); modificationTree1.write(MIN_MAX_LIST_PATH, mapNodeFooWithNodes); @@ -248,13 +240,13 @@ public class Bug4454Test { modificationTree1.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree1); + final var prepare = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare); - DataTreeSnapshot test = inMemoryDataTree.takeSnapshot(); + final var test = inMemoryDataTree.takeSnapshot(); testLoop(test, "bar", "test"); - DataTreeModification tempMod = test.newModification(); + final var tempMod = test.newModification(); tempMod.write(pathToBaz, newNode2); tempMod.write(pathToBaz, newNode1); tempMod.merge(pathToBaz, newNode2); @@ -262,68 +254,68 @@ public class Bug4454Test { tempMod.ready(); inMemoryDataTree.validate(tempMod); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(tempMod); + final var prepare1 = inMemoryDataTree.prepare(tempMod); inMemoryDataTree.commit(prepare1); - DataTreeSnapshot test1 = inMemoryDataTree.takeSnapshot(); + final var test1 = inMemoryDataTree.takeSnapshot(); testLoop(test1, "bar", "test1"); - DataTreeModification tempMod1 = test1.newModification(); + final var tempMod1 = test1.newModification(); tempMod1.write(MIN_MAX_LIST_PATH, mapNodeFooWithNodes); tempMod1.ready(); inMemoryDataTree.validate(tempMod1); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(tempMod1); + final var prepare2 = inMemoryDataTree.prepare(tempMod1); inMemoryDataTree.commit(prepare2); - DataTreeSnapshot test2 = inMemoryDataTree.takeSnapshot(); + final var test2 = inMemoryDataTree.takeSnapshot(); minMaxListRead = test2.readNode(MIN_MAX_LIST_PATH); assertTrue(minMaxListRead.isPresent()); assertEquals(3, ((NormalizedNodeContainer) minMaxListRead.orElseThrow()).size()); - DataTreeModification tempMod2 = test2.newModification(); + final var tempMod2 = test2.newModification(); tempMod2.write(MIN_MAX_LIST_PATH, mapNodeBaz); tempMod2.write(pathToBaz, newNode2); tempMod2.ready(); inMemoryDataTree.validate(tempMod2); - final DataTreeCandidate prepare3 = inMemoryDataTree.prepare(tempMod2); + final var prepare3 = inMemoryDataTree.prepare(tempMod2); inMemoryDataTree.commit(prepare3); - DataTreeSnapshot test3 = inMemoryDataTree.takeSnapshot(); + final var test3 = inMemoryDataTree.takeSnapshot(); minMaxListRead = test3.readNode(MIN_MAX_LIST_PATH); assertTrue(minMaxListRead.isPresent()); assertEquals(1, ((NormalizedNodeContainer) minMaxListRead.orElseThrow()).size()); - assertThat(minMaxListRead.orElseThrow().body().toString(), containsString("test2")); + assertTrue(minMaxListRead.orElseThrow().body().toString().contains("test2")); - DataTreeModification tempMod3 = test3.newModification(); + final var tempMod3 = test3.newModification(); tempMod3.merge(MIN_MAX_LIST_PATH, mapNodeBar); tempMod3.merge(pathToBar, newNode1); tempMod3.ready(); inMemoryDataTree.validate(tempMod3); - final DataTreeCandidate prepare4 = inMemoryDataTree.prepare(tempMod3); + final var prepare4 = inMemoryDataTree.prepare(tempMod3); inMemoryDataTree.commit(prepare4); - DataTreeSnapshot test4 = inMemoryDataTree.takeSnapshot(); + final var test4 = inMemoryDataTree.takeSnapshot(); testLoop(test4, "test1", "test2"); } @Test - public void minMaxLeafListPass() throws DataValidationFailedException { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void minMaxLeafListPass() throws DataValidationFailedException { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final NodeWithValue barPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "bar"); - final NodeWithValue gooPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "goo"); + final var barPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "bar"); + final var gooPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "goo"); - final LeafSetEntryNode barLeafSetEntry = Builders.leafSetEntryBuilder() + final var barLeafSetEntry = Builders.leafSetEntryBuilder() .withNodeIdentifier(barPath) .withValue("bar").build(); - final LeafSetEntryNode gooLeafSetEntry = Builders.leafSetEntryBuilder() + final var gooLeafSetEntry = Builders.leafSetEntryBuilder() .withNodeIdentifier(gooPath) .withValue("goo").build(); - final LeafSetNode fooLeafSetNode = Builders.leafSetBuilder() + final var fooLeafSetNode = Builders.leafSetBuilder() .withNodeIdentifier(new NodeIdentifier(MIN_MAX_LEAF_LIST_QNAME)) .withChildValue("foo") .build(); @@ -333,48 +325,48 @@ public class Bug4454Test { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree); + final var prepare1 = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare1); - DataTreeSnapshot test1 = inMemoryDataTree.takeSnapshot(); + final var test1 = inMemoryDataTree.takeSnapshot(); - DataTreeModification tempMod1 = test1.newModification(); + final var tempMod1 = test1.newModification(); tempMod1.write(MIN_MAX_LEAF_LIST_PATH.node(gooPath), gooLeafSetEntry); tempMod1.write(MIN_MAX_LEAF_LIST_PATH.node(barPath), barLeafSetEntry); tempMod1.ready(); inMemoryDataTree.validate(tempMod1); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(tempMod1); + final var prepare2 = inMemoryDataTree.prepare(tempMod1); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); - final Optional masterContainer = snapshotAfterCommit.readNode(MASTER_CONTAINER_PATH); + final var snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); + final var masterContainer = snapshotAfterCommit.readNode(MASTER_CONTAINER_PATH); assertTrue(masterContainer.isPresent()); - final Optional> leafList = ((DistinctNodeContainer) masterContainer.orElseThrow()) + final var leafList = ((DistinctNodeContainer) masterContainer.orElseThrow()) .findChildByArg(new NodeIdentifier(MIN_MAX_LEAF_LIST_QNAME)); assertTrue(leafList.isPresent()); - assertEquals(3, leafList.orElseThrow().size()); + assertEquals(3, ((Optional>) leafList).orElseThrow().size()); } @Test - public void minMaxListDeleteTest() throws DataValidationFailedException { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void minMaxListDeleteTest() throws DataValidationFailedException { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - NodeIdentifierWithPredicates mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, + var mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "foo"); - final YangInstanceIdentifier minMaxLeafFoo = MASTER_CONTAINER_PATH + final var minMaxLeafFoo = MASTER_CONTAINER_PATH .node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "bar"); - final YangInstanceIdentifier minMaxLeafBar = MASTER_CONTAINER_PATH + final var minMaxLeafBar = MASTER_CONTAINER_PATH .node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "baz"); - final YangInstanceIdentifier minMaxLeafBaz = MASTER_CONTAINER_PATH + final var minMaxLeafBaz = MASTER_CONTAINER_PATH .node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); modificationTree.write(MIN_MAX_LIST_PATH, mapNodeFooWithNodes); @@ -387,31 +379,31 @@ public class Bug4454Test { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); // Empty list should have disappeared, along with the container, as we are not enforcing root - final NormalizedNode data = inMemoryDataTree.takeSnapshot().readNode(YangInstanceIdentifier.of()).orElseThrow(); - assertTrue(data instanceof ContainerNode); + final var data = inMemoryDataTree.takeSnapshot().readNode(YangInstanceIdentifier.of()).orElseThrow(); + assertInstanceOf(ContainerNode.class, data); assertEquals(0, ((ContainerNode) data).size()); } @Test - public void minMaxListDeleteExceptionTest() throws DataValidationFailedException { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void minMaxListDeleteExceptionTest() throws DataValidationFailedException { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - NodeIdentifierWithPredicates mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, + var mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "foo"); - final YangInstanceIdentifier minMaxLeafFoo = PRESENCE_PATH.node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); + final var minMaxLeafFoo = PRESENCE_PATH.node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "bar"); - final YangInstanceIdentifier minMaxLeafBar = PRESENCE_PATH.node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); + final var minMaxLeafBar = PRESENCE_PATH.node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "baz"); - final YangInstanceIdentifier minMaxLeafBaz = PRESENCE_PATH.node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); + final var minMaxLeafBaz = PRESENCE_PATH.node(MIN_MAX_LIST_QNAME).node(mapEntryPath2); modificationTree.write(PRESENCE_PATH, ImmutableNodes.containerNode(PRESENCE_QNAME)); modificationTree.write(PRESENCE_MIN_MAX_LIST_PATH, mapNodeFooWithNodes); @@ -434,21 +426,21 @@ public class Bug4454Test { } @Test - public void minMaxListNoMinMaxDeleteTest() throws DataValidationFailedException { - final MapEntryNode fooEntryNoMinMaxNode = + void minMaxListNoMinMaxDeleteTest() throws DataValidationFailedException { + final var fooEntryNoMinMaxNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME_NO_MINMAX, MIN_MAX_KEY_LEAF_QNAME, "foo"); - final SystemMapNode mapNode1 = ImmutableNodes.mapNodeBuilder() + final var mapNode1 = ImmutableNodes.mapNodeBuilder() .withNodeIdentifier(new NodeIdentifier(MIN_MAX_LIST_QNAME_NO_MINMAX)) .withChild(fooEntryNoMinMaxNode).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - Map key = new HashMap<>(); + final var key = new HashMap(); key.put(MIN_MAX_KEY_LEAF_QNAME, "foo"); - NodeIdentifierWithPredicates mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME_NO_MINMAX, key); + var mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME_NO_MINMAX, key); - final YangInstanceIdentifier minMaxLeafFoo = MASTER_CONTAINER_PATH + final var minMaxLeafFoo = MASTER_CONTAINER_PATH .node(MIN_MAX_LIST_QNAME_NO_MINMAX).node(mapEntryPath2); key.clear(); @@ -456,7 +448,7 @@ public class Bug4454Test { mapEntryPath2 = NodeIdentifierWithPredicates.of(MIN_MAX_LIST_QNAME_NO_MINMAX, key); - YangInstanceIdentifier minMaxLeafNel = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) + final var minMaxLeafNel = YangInstanceIdentifier.builder(MASTER_CONTAINER_PATH) .node(MIN_MAX_LIST_QNAME_NO_MINMAX).node(mapEntryPath2).build(); modificationTree.write(MIN_MAX_LIST_NO_MINMAX_PATH, mapNode1); @@ -466,22 +458,22 @@ public class Bug4454Test { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); - final DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); - final Optional minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_NO_MINMAX_PATH); + final var snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); + final var minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_NO_MINMAX_PATH); // Empty list should have disappeared assertFalse(minMaxListRead.isPresent()); } private static void testLoop(final DataTreeSnapshot snapshot, final String first, final String second) { - Optional minMaxListRead = snapshot.readNode(MIN_MAX_LIST_PATH); + final var minMaxListRead = snapshot.readNode(MIN_MAX_LIST_PATH); assertTrue(minMaxListRead.isPresent()); assertEquals(2, ((NormalizedNodeContainer) minMaxListRead.orElseThrow()).size()); - for (Object collectionChild : (Collection) minMaxListRead.orElseThrow().body()) { + for (var collectionChild : (Collection) minMaxListRead.orElseThrow().body()) { if (collectionChild.toString().contains(first)) { assertTrue(collectionChild.toString().contains(first)); } else { diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5830Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5830Test.java index 5ac2356117..36a0199b99 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5830Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5830Test.java @@ -7,34 +7,28 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThrows; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -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.MapEntryNode; -import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode; -import org.opendaylight.yangtools.yang.data.api.schema.builder.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class Bug5830Test { +class Bug5830Test { private static final String NS = "foo"; private static final String REV = "2016-05-17"; private static final QName TASK_CONTAINER = QName.create(NS, REV, "task-container"); @@ -51,29 +45,29 @@ public class Bug5830Test { private static DataTree initDataTree(final EffectiveModelContext schemaContext) throws DataValidationFailedException { - DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); - final SystemMapNode taskNode = Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(TASK)).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var taskNode = Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(TASK)).build(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(TASK_CONTAINER, TASK), taskNode); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); return inMemoryDataTree; } @Test - public void testMandatoryNodes() throws DataValidationFailedException { + void testMandatoryNodes() throws DataValidationFailedException { testPresenceContainer(); testNonPresenceContainer(); testMultipleContainers(); } private static void testPresenceContainer() throws DataValidationFailedException { - final EffectiveModelContext schemaContext = YangParserTestUtils.parseYang(""" + final var schemaContext = YangParserTestUtils.parseYang(""" module foo-presence { yang-version 1; namespace "foo"; @@ -107,7 +101,7 @@ public class Bug5830Test { } } }"""); - assertNotNull("Schema context must not be null.", schemaContext); + assertNotNull(schemaContext, "Schema context must not be null."); testContainerIsNotPresent(schemaContext); final var ex = assertThrows(IllegalArgumentException.class, () -> testContainerIsPresent(schemaContext)); @@ -118,7 +112,7 @@ public class Bug5830Test { } private static void testNonPresenceContainer() throws DataValidationFailedException { - final EffectiveModelContext schemaContext = YangParserTestUtils.parseYang(""" + final var schemaContext = YangParserTestUtils.parseYang(""" module foo-non-presence { yang-version 1; namespace "foo"; @@ -152,7 +146,7 @@ public class Bug5830Test { } } }"""); - assertNotNull("Schema context must not be null.", schemaContext); + assertNotNull(schemaContext, "Schema context must not be null."); try { testContainerIsNotPresent(schemaContext); @@ -175,7 +169,7 @@ public class Bug5830Test { } private static void testMultipleContainers() throws DataValidationFailedException { - final EffectiveModelContext schemaContext = YangParserTestUtils.parseYang(""" + final var schemaContext = YangParserTestUtils.parseYang(""" module foo-multiple { yang-version 1; namespace "foo"; @@ -239,7 +233,7 @@ public class Bug5830Test { } } }"""); - assertNotNull("Schema context must not be null.", schemaContext); + assertNotNull(schemaContext, "Schema context must not be null."); testContainerIsNotPresent(schemaContext); @@ -275,90 +269,90 @@ public class Bug5830Test { private static void testContainerIsNotPresent(final EffectiveModelContext schemaContext) throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(schemaContext); - final MapEntryNode taskEntryNode = Builders.mapEntryBuilder() + final var inMemoryDataTree = initDataTree(schemaContext); + final var taskEntryNode = Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(TASK, TASK_ID, "123")) .withChild(ImmutableNodes.leafNode(TASK_ID, "123")) .withChild(ImmutableNodes.leafNode(TASK_MANDATORY_LEAF, "mandatory data")) .build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write( YangInstanceIdentifier.of(TASK_CONTAINER, TASK).node(NodeIdentifierWithPredicates.of(TASK, TASK_ID, "123")), taskEntryNode); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } private static void testContainerIsPresent(final EffectiveModelContext schemaContext) throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(schemaContext); + final var inMemoryDataTree = initDataTree(schemaContext); - final MapEntryNode taskEntryNode = Builders.mapEntryBuilder() + final var taskEntryNode = Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(TASK, TASK_ID, "123")) .withChild(ImmutableNodes.leafNode(TASK_ID, "123")) .withChild(ImmutableNodes.leafNode(TASK_MANDATORY_LEAF, "mandatory data")) .withChild(createTaskDataContainer(false)).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write( YangInstanceIdentifier.of(TASK_CONTAINER, TASK).node(NodeIdentifierWithPredicates.of(TASK, TASK_ID, "123")), taskEntryNode); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } private static void testMandatoryDataLeafIsPresent(final EffectiveModelContext schemaContext) throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(schemaContext); + final var inMemoryDataTree = initDataTree(schemaContext); - final MapEntryNode taskEntryNode = Builders.mapEntryBuilder() + final var taskEntryNode = Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(TASK, TASK_ID, "123")) .withChild(ImmutableNodes.leafNode(TASK_ID, "123")) .withChild(ImmutableNodes.leafNode(TASK_MANDATORY_LEAF, "mandatory data")) .withChild(createTaskDataContainer(true)).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write( YangInstanceIdentifier.of(TASK_CONTAINER, TASK).node(NodeIdentifierWithPredicates.of(TASK, TASK_ID, "123")), taskEntryNode); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } private static void testMandatoryLeaf2IsPresent(final EffectiveModelContext schemaContext, final boolean withPresenceContianer) throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(schemaContext); + final var inMemoryDataTree = initDataTree(schemaContext); - final MapEntryNode taskEntryNode = Builders.mapEntryBuilder() + final var taskEntryNode = Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(TASK, TASK_ID, "123")) .withChild(ImmutableNodes.leafNode(TASK_ID, "123")) .withChild(ImmutableNodes.leafNode(TASK_MANDATORY_LEAF, "mandatory data")) .withChild(createTaskDataMultipleContainer(withPresenceContianer)) .build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write( YangInstanceIdentifier.of(TASK_CONTAINER, TASK).node(NodeIdentifierWithPredicates.of(TASK, TASK_ID, "123")), taskEntryNode); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } private static DataContainerChild createTaskDataContainer(final boolean withMandatoryNode) { - DataContainerNodeBuilder taskDataBuilder = Builders.containerBuilder() + final var taskDataBuilder = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TASK_DATA)) .withChild(ImmutableNodes.leafNode(OTHER_DATA, "foo")); if (withMandatoryNode) { @@ -368,24 +362,22 @@ public class Bug5830Test { } private static DataContainerChild createTaskDataMultipleContainer(final boolean withPresenceContianer) { - DataContainerNodeBuilder nonPresenceContainerBuilder = Builders - .containerBuilder() - .withNodeIdentifier(new NodeIdentifier(NON_PRESENCE_CONTAINER)) - .withChild( - Builders.containerBuilder().withNodeIdentifier(new NodeIdentifier(NON_PRESENCE_CONTAINER_2)) - .withChild(ImmutableNodes.leafNode(MANDATORY_LEAF_2, "mandatory leaf data 2")).build()); + final var nonPresenceContainerBuilder = Builders.containerBuilder() + .withNodeIdentifier(new NodeIdentifier(NON_PRESENCE_CONTAINER)) + .withChild(Builders.containerBuilder() + .withNodeIdentifier(new NodeIdentifier(NON_PRESENCE_CONTAINER_2)) + .withChild(ImmutableNodes.leafNode(MANDATORY_LEAF_2, "mandatory leaf data 2")).build()); if (withPresenceContianer) { nonPresenceContainerBuilder.withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(PRESENCE_CONTAINER_2)).build()); } - DataContainerNodeBuilder taskDataBuilder = Builders.containerBuilder() - .withNodeIdentifier(new NodeIdentifier(TASK_DATA)) - .withChild(ImmutableNodes.leafNode(OTHER_DATA, "foo")); - taskDataBuilder.withChild(ImmutableNodes.leafNode(MANDATORY_DATA, "mandatory-data-value")); - taskDataBuilder.withChild(nonPresenceContainerBuilder.build()); - - return taskDataBuilder.build(); + return Builders.containerBuilder() + .withNodeIdentifier(new NodeIdentifier(TASK_DATA)) + .withChild(ImmutableNodes.leafNode(OTHER_DATA, "foo")) + .withChild(ImmutableNodes.leafNode(MANDATORY_DATA, "mandatory-data-value")) + .withChild(nonPresenceContainerBuilder.build()) + .build(); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5968MergeTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5968MergeTest.java index 2782cafaad..2f821e8b9d 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5968MergeTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5968MergeTest.java @@ -7,13 +7,13 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; import com.google.common.collect.ImmutableMap; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -26,7 +26,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.builder.DataContainerNode import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; @@ -34,7 +33,7 @@ import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class Bug5968MergeTest { +class Bug5968MergeTest { private static final String NS = "bug5968"; private static final String REV = "2016-07-28"; private static final QName ROOT = QName.create(NS, REV, "root"); @@ -44,8 +43,8 @@ public class Bug5968MergeTest { private static final QName COMMON_LEAF = QName.create(NS, REV, "common-leaf"); private static EffectiveModelContext SCHEMA_CONTEXT; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { SCHEMA_CONTEXT = YangParserTestUtils.parseYang(""" module bug5968 { yang-version 1; @@ -74,19 +73,19 @@ public class Bug5968MergeTest { }"""); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { SCHEMA_CONTEXT = null; } private static DataTree initDataTree(final EffectiveModelContext schemaContext, final boolean withMapNode) throws DataValidationFailedException { - final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); - final DataContainerNodeBuilder root = Builders.containerBuilder() + final var root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), withMapNode ? root.withChild( Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(MY_LIST)).build()).build() @@ -94,32 +93,31 @@ public class Bug5968MergeTest { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); return inMemoryDataTree; } - private static DataTree emptyDataTree(final EffectiveModelContext schemaContext) - throws DataValidationFailedException { + private static DataTree emptyDataTree(final EffectiveModelContext schemaContext) { return new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); } @Test - public void mergeInvalidContainerTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + void mergeInvalidContainerTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final SystemMapNode myList = createMap(true); - final DataContainerNodeBuilder root = Builders.containerBuilder() + final var myList = createMap(true); + final var root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)).withChild(myList); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), root.build()); try { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -129,15 +127,15 @@ public class Bug5968MergeTest { } @Test - public void mergeInvalidMapTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void mergeInvalidMapTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); mergeMap(modificationTree, true); try { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -147,16 +145,16 @@ public class Bug5968MergeTest { } @Test - public void mergeInvalidMapEntryTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void mergeInvalidMapEntryTest() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); mergeMapEntry(modificationTree, "1", null, "common-value"); try { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -180,7 +178,7 @@ public class Bug5968MergeTest { 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) + final var taskEntryNode = mandatoryLeafValue == null ? createMapEntry(listIdValue, commonLeafValue) : createMapEntry(listIdValue, mandatoryLeafValue, commonLeafValue); modificationTree.merge( @@ -190,7 +188,7 @@ public class Bug5968MergeTest { } private static MapEntryNode createMapEntry(final Object listIdValue, final Object mandatoryLeafValue, - final Object commonLeafValue) throws DataValidationFailedException { + final Object commonLeafValue) { return Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, LIST_ID, listIdValue)) .withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue)) @@ -198,16 +196,14 @@ public class Bug5968MergeTest { .withChild(ImmutableNodes.leafNode(COMMON_LEAF, commonLeafValue)).build(); } - private static MapEntryNode createMapEntry(final Object listIdValue, final Object commonLeafValue) - throws DataValidationFailedException { + private static MapEntryNode createMapEntry(final Object listIdValue, final Object commonLeafValue) { return Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) .withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue)) .withChild(ImmutableNodes.leafNode(COMMON_LEAF, commonLeafValue)).build(); } - private static MapEntryNode createMapEntryM(final Object listIdValue, final Object mandatoryLeafValue) - throws DataValidationFailedException { + private static MapEntryNode createMapEntryM(final Object listIdValue, final Object mandatoryLeafValue) { return Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) .withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue)) @@ -215,50 +211,50 @@ public class Bug5968MergeTest { } @Test - public void mergeValidContainerTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + void mergeValidContainerTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final SystemMapNode myList = createMap(false); - final DataContainerNodeBuilder root = Builders.containerBuilder() + final var myList = createMap(false); + final var root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)).withChild(myList); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), root.build()); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void mergeValidMapTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void mergeValidMapTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); mergeMap(modificationTree, false); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void mergeValidMapEntryTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void mergeValidMapEntryTest() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); mergeMapEntry(modificationTree, "1", "mandatory-value", "common-value"); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void validMultiStepsMergeTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void validMultiStepsMergeTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT, MY_LIST), createMapBuilder().build()); @@ -271,14 +267,14 @@ public class Bug5968MergeTest { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void invalidMultiStepsMergeTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void invalidMultiStepsMergeTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.merge(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT, MY_LIST), createMapBuilder().build()); @@ -292,7 +288,7 @@ public class Bug5968MergeTest { try { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -302,7 +298,7 @@ public class Bug5968MergeTest { } private static DataContainerNodeBuilder createEmptyMapEntryBuilder( - final Object listIdValue) throws DataValidationFailedException { + final Object listIdValue) { return Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))) .withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue)); @@ -317,9 +313,9 @@ public class Bug5968MergeTest { } @Test - public void validMultiStepsWriteAndMergeTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void validMultiStepsWriteAndMergeTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); @@ -334,14 +330,14 @@ public class Bug5968MergeTest { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void invalidMultiStepsWriteAndMergeTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void invalidMultiStepsWriteAndMergeTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); @@ -357,7 +353,7 @@ public class Bug5968MergeTest { try { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -367,9 +363,9 @@ public class Bug5968MergeTest { } @Test - public void validMapEntryMultiCommitMergeTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void validMapEntryMultiCommitMergeTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); @@ -384,24 +380,24 @@ public class Bug5968MergeTest { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); - final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree2.merge( YangInstanceIdentifier.of(ROOT).node(MY_LIST) .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), createMapEntry("1", "common-value")); modificationTree2.ready(); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); } @Test - public void invalidMapEntryMultiCommitMergeTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void invalidMapEntryMultiCommitMergeTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); @@ -416,10 +412,10 @@ public class Bug5968MergeTest { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); - final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree2.write( YangInstanceIdentifier.of(ROOT).node(MY_LIST) .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))), @@ -435,7 +431,7 @@ public class Bug5968MergeTest { try { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -450,10 +446,10 @@ public class Bug5968MergeTest { * writes common data without any mandatory data. */ @Test - public void validMapEntryMultiCommitMergeTest2() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + void validMapEntryMultiCommitMergeTest2() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build()); modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build()); @@ -468,7 +464,7 @@ public class Bug5968MergeTest { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); modificationTree2.merge( @@ -477,7 +473,7 @@ public class Bug5968MergeTest { createMapEntry("1", "common-value")); modificationTree2.ready(); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5968Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5968Test.java index d3187bb4aa..1668ca8210 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5968Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug5968Test.java @@ -7,25 +7,22 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; import com.google.common.collect.ImmutableMap; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -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.SystemMapNode; -import org.opendaylight.yangtools.yang.data.api.schema.builder.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; @@ -33,7 +30,7 @@ import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class Bug5968Test { +class Bug5968Test { private static final String NS = "bug5968"; private static final String REV = "2016-07-28"; private static final QName ROOT = QName.create(NS, REV, "root"); @@ -44,8 +41,8 @@ public class Bug5968Test { private static EffectiveModelContext SCHEMA_CONTEXT; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { SCHEMA_CONTEXT = YangParserTestUtils.parseYang(""" module bug5968 { yang-version 1; @@ -74,19 +71,19 @@ public class Bug5968Test { }"""); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { SCHEMA_CONTEXT = null; } private static DataTree initDataTree(final EffectiveModelContext schemaContext, final boolean withMapNode) throws DataValidationFailedException { - final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); - final DataContainerNodeBuilder root = Builders.containerBuilder() + final var root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write( YangInstanceIdentifier.of(ROOT), withMapNode ? root.withChild( @@ -95,32 +92,31 @@ public class Bug5968Test { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); return inMemoryDataTree; } - private static DataTree emptyDataTree(final EffectiveModelContext schemaContext) - throws DataValidationFailedException { + private static DataTree emptyDataTree(final EffectiveModelContext schemaContext) { return new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); } @Test - public void writeInvalidContainerTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + void writeInvalidContainerTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final SystemMapNode myList = createMap(true); - final DataContainerNodeBuilder root = Builders.containerBuilder() + final var myList = createMap(true); + final var root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)).withChild(myList); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), root.build()); try { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -130,15 +126,15 @@ public class Bug5968Test { } @Test - public void writeInvalidMapTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void writeInvalidMapTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); writeMap(modificationTree, true); try { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -148,16 +144,16 @@ public class Bug5968Test { } @Test - public void writeInvalidMapEntryTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void writeInvalidMapEntryTest() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); writeMapEntry(modificationTree, "1", null, "common-value"); try { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); fail("Should fail due to missing mandatory leaf."); } catch (final IllegalArgumentException e) { @@ -180,7 +176,7 @@ public class Bug5968Test { private static void writeMapEntry(final DataTreeModification modificationTree, final Object listIdValue, final Object mandatoryLeafValue, final Object commonLeafValue) throws DataValidationFailedException { - final MapEntryNode taskEntryNode = mandatoryLeafValue == null ? createMapEntry(listIdValue, commonLeafValue) + final var taskEntryNode = mandatoryLeafValue == null ? createMapEntry(listIdValue, commonLeafValue) : createMapEntry(listIdValue, mandatoryLeafValue, commonLeafValue); modificationTree.write( @@ -206,43 +202,43 @@ public class Bug5968Test { } @Test - public void writeValidContainerTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + void writeValidContainerTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final SystemMapNode myList = createMap(false); - final DataContainerNodeBuilder root = Builders.containerBuilder() + final var myList = createMap(false); + final var root = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(ROOT)).withChild(myList); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(ROOT), root.build()); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void writeValidMapTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void writeValidMapTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); writeMap(modificationTree, false); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void writeValidMapEntryTest() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void writeValidMapEntryTest() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); writeMapEntry(modificationTree, "1", "mandatory-value", "common-value"); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug8291Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug8291Test.java index 0dc9d96e95..428c58241b 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug8291Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug8291Test.java @@ -7,28 +7,24 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.api.TreeType; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class Bug8291Test { +class Bug8291Test { private static final String NS = "bug8291"; private static final QName ROOT = QName.create(NS, "root"); private static final QName OUTER_LIST = QName.create(NS, "outer-list"); @@ -37,8 +33,14 @@ public class Bug8291Test { private EffectiveModelContext schemaContext; - @Before - public void init() { + private static DataTree initDataTree(final EffectiveModelContext schemaContext) { + final var config = new DataTreeConfiguration.Builder(TreeType.CONFIGURATION).setRootPath( + YangInstanceIdentifier.of(ROOT).node(OUTER_LIST)).build(); + return new InMemoryDataTreeFactory().create(config, schemaContext); + } + + @Test + void test() throws DataValidationFailedException { schemaContext = YangParserTestUtils.parseYang(""" module bug8291 { yang-version 1; @@ -64,40 +66,30 @@ public class Bug8291Test { } } }"""); - assertNotNull("Schema context must not be null.", schemaContext); - } + assertNotNull(schemaContext, "Schema context must not be null."); - private static DataTree initDataTree(final EffectiveModelContext schemaContext) - throws DataValidationFailedException { - final DataTreeConfiguration config = new DataTreeConfiguration.Builder(TreeType.CONFIGURATION).setRootPath( - YangInstanceIdentifier.of(ROOT).node(OUTER_LIST)).build(); - return new InMemoryDataTreeFactory().create(config, schemaContext); - } - - @Test - public void test() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(schemaContext); + final var inMemoryDataTree = initDataTree(schemaContext); writeOuterListMapEntry(inMemoryDataTree); writeInnerList(inMemoryDataTree); } private static void writeInnerList(final DataTree inMemoryDataTree) throws DataValidationFailedException { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write( YangInstanceIdentifier.of(NodeIdentifierWithPredicates.of(OUTER_LIST, OUTER_LIST_ID, 1)).node(INNER_LIST), Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(INNER_LIST)).build()); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } private static void writeOuterListMapEntry(final DataTree inMemoryDataTree) throws DataValidationFailedException { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final MapEntryNode outerListMapEntry = Builders.mapEntryBuilder() + final var outerListMapEntry = Builders.mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(OUTER_LIST, OUTER_LIST_ID, 1)) .withChild(ImmutableNodes.leafNode(OUTER_LIST_ID, 1)) .build(); @@ -107,7 +99,7 @@ public class Bug8291Test { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseAugmentTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseAugmentTest.java index 331bb39d2a..8473d30d1e 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseAugmentTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseAugmentTest.java @@ -7,28 +7,25 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.leafNode; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class CaseAugmentTest { +class CaseAugmentTest { private static final QName CHOICE1_QNAME = QName.create(TestModel.TEST_QNAME, "choice1"); private static final QName C1L2_QNAME = QName.create(TestModel.TEST_QNAME, "case1-leaf2"); private static final QName C1L3_QNAME = QName.create(TestModel.TEST_QNAME, "case1-leaf3"); @@ -36,8 +33,8 @@ public class CaseAugmentTest { private static EffectiveModelContext SCHEMA_CONTEXT; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { SCHEMA_CONTEXT = YangParserTestUtils.parseYang(""" module case-augment-test { yang-version 1; @@ -74,42 +71,41 @@ public class CaseAugmentTest { }"""); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { SCHEMA_CONTEXT = null; } private static DataTree initDataTree() { - DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, + return new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); - return inMemoryDataTree; } @Test - public void testWriteAugment() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(); + void testWriteAugment() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(); - final ContainerNode container = Builders.containerBuilder() + final var container = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild(Builders.choiceBuilder() .withNodeIdentifier(CHOICE_ID) .withChild(leafNode(C1L2_QNAME, "leaf-value")) .build()) .build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(TestModel.TEST_PATH, container); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void testWriteCase1All() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(); + void testWriteCase1All() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(TestModel.TEST_PATH, Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild(Builders.choiceBuilder() @@ -127,8 +123,8 @@ public class CaseAugmentTest { } @Test - public void testWriteConflict() throws DataValidationFailedException { - final DataTreeModification modificationTree = initDataTree().takeSnapshot().newModification(); + void testWriteConflict() throws DataValidationFailedException { + final var modificationTree = initDataTree().takeSnapshot().newModification(); modificationTree.write(TestModel.TEST_PATH, Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild(Builders.choiceBuilder() @@ -138,7 +134,7 @@ public class CaseAugmentTest { .build()) .build()); - final IllegalArgumentException e = assertThrows(IllegalArgumentException.class, modificationTree::ready); - assertThat(e.getMessage(), containsString(" implies non-presence of child ")); + final var e = assertThrows(IllegalArgumentException.class, modificationTree::ready); + assertTrue(e.getMessage().contains(" implies non-presence of child ")); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseExclusionTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseExclusionTest.java index b0218a832d..02e1027450 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseExclusionTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseExclusionTest.java @@ -7,128 +7,129 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.leafNode; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; -import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -public class CaseExclusionTest { +class CaseExclusionTest { private static EffectiveModelContext SCHEMA_CONTEXT; private DataTree inMemoryDataTree; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { SCHEMA_CONTEXT = TestModel.createTestContext("/case-exclusion-test.yang"); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { SCHEMA_CONTEXT = null; } - @Before - public void before() { + @BeforeEach + void before() { inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); } @Test - public void testCorrectCaseWrite() throws DataValidationFailedException { - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + void testCorrectCaseWrite() throws DataValidationFailedException { + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final ContainerNode container = Builders + final var container = Builders .containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild( Builders.choiceBuilder().withNodeIdentifier(choice1Id) .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case1-leaf1"), "leaf-value")) .build()).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(TestModel.TEST_PATH, container); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } - @Test(expected = IllegalArgumentException.class) - public void testCaseExclusion() throws DataValidationFailedException { - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + @Test + void testCaseExclusion() { + assertThrows(IllegalArgumentException.class, () -> { + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final ContainerNode container = Builders + final var container = Builders .containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild( - Builders.choiceBuilder() - .withNodeIdentifier(choice1Id) - .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case1-leaf1"), "leaf-value")) - .withChild( - ImmutableNodes.containerNode(QName.create(TestModel.TEST_QNAME, "case2-cont"))) - .build()).build(); - try { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree.write(TestModel.TEST_PATH, container); - modificationTree.ready(); - - inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); - inMemoryDataTree.commit(prepare); - } catch (IllegalArgumentException e) { - assertTrue(e.getMessage().contains("implies non-presence of child")); - throw e; - } + Builders.choiceBuilder() + .withNodeIdentifier(choice1Id) + .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case1-leaf1"), "leaf-value")) + .withChild( + ImmutableNodes.containerNode(QName.create(TestModel.TEST_QNAME, "case2-cont"))) + .build()).build(); + try { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree.write(TestModel.TEST_PATH, container); + modificationTree.ready(); + + inMemoryDataTree.validate(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); + inMemoryDataTree.commit(prepare); + } catch (IllegalArgumentException e) { + assertTrue(e.getMessage().contains("implies non-presence of child")); + throw e; + } + }); } - @Test(expected = IllegalArgumentException.class) - public void testCaseExclusionOnChoiceWrite() throws DataValidationFailedException { - // Container write - final ContainerNode container = Builders.containerBuilder() + @Test + void testCaseExclusionOnChoiceWrite() { + assertThrows(IllegalArgumentException.class, () -> { + // Container write + final var container = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)).build(); - final DataTreeModification modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree1.write(TestModel.TEST_PATH, container); - modificationTree1.ready(); + final var modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree1.write(TestModel.TEST_PATH, container); + modificationTree1.ready(); - inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); - inMemoryDataTree.commit(prepare1); + inMemoryDataTree.validate(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); + inMemoryDataTree.commit(prepare1); - // Choice write - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final ChoiceNode choice = Builders.choiceBuilder().withNodeIdentifier(choice1Id) + // Choice write + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + final var choice = Builders.choiceBuilder().withNodeIdentifier(choice1Id) .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case1-leaf1"), "leaf-value")) .withChild(ImmutableNodes.containerNode(QName.create(TestModel.TEST_QNAME, "case2-cont"))).build(); - try { - final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree2.write(TestModel.TEST_PATH.node(choice1Id), choice); - modificationTree2.ready(); + try { + final var modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree2.write(TestModel.TEST_PATH.node(choice1Id), choice); + modificationTree2.ready(); - inMemoryDataTree.validate(modificationTree2); + inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); - inMemoryDataTree.commit(prepare2); - } catch (IllegalArgumentException e) { - assertTrue(e.getMessage().contains("implies non-presence of child")); - throw e; - } + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); + inMemoryDataTree.commit(prepare2); + } catch (IllegalArgumentException e) { + assertTrue(e.getMessage().contains("implies non-presence of child")); + throw e; + } + }); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConcurrentTreeModificationTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConcurrentTreeModificationTest.java index fb66c633bb..37075f74a5 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConcurrentTreeModificationTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConcurrentTreeModificationTest.java @@ -7,35 +7,32 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; import java.util.Optional; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; 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.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.ConflictingModificationAppliedException; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ConcurrentTreeModificationTest extends AbstractTestModelTest { +class ConcurrentTreeModificationTest extends AbstractTestModelTest { private static final Logger LOG = LoggerFactory.getLogger(ConcurrentTreeModificationTest.class); private static final Short ONE_ID = 1; @@ -62,8 +59,8 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { private DataTree inMemoryDataTree; - @Before - public void prepare() { + @BeforeEach + void prepare() { inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT); } @@ -90,11 +87,11 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { } @Test - public void writeWrite1stLevelEmptyTreeTest() throws DataValidationFailedException { - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + void writeWrite1stLevelEmptyTreeTest() throws DataValidationFailedException { + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); modificationTree2.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); @@ -102,7 +99,7 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree1.ready(); modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); try { @@ -111,19 +108,19 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { } catch (final ConflictingModificationAppliedException ex) { LOG.debug("ConflictingModificationAppliedException - was thrown as expected", ex); } - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final Optional testNodeAfterCommits = modificationTree1.readNode(TestModel.TEST_PATH); + final var testNodeAfterCommits = modificationTree1.readNode(TestModel.TEST_PATH); assertPresentAndType(testNodeAfterCommits, ContainerNode.class); } @Test - public void writeMerge1stLevelEmptyTreeTest() throws DataValidationFailedException { - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + void writeMerge1stLevelEmptyTreeTest() throws DataValidationFailedException { + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); modificationTree2.merge(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); @@ -132,23 +129,23 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final Optional testNodeAfterCommits = modificationTree1.readNode(TestModel.TEST_PATH); + final var testNodeAfterCommits = modificationTree1.readNode(TestModel.TEST_PATH); assertPresentAndType(testNodeAfterCommits, ContainerNode.class); } @Test - public void writeWriteFooBar1stLevelEmptyTreeTest() throws DataValidationFailedException { - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + void writeWriteFooBar1stLevelEmptyTreeTest() throws DataValidationFailedException { + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.write(TestModel.TEST_PATH, createFooTestContainerNode()); modificationTree2.write(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -156,29 +153,29 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); try { inMemoryDataTree.validate(modificationTree2); fail("Exception should have been thrown."); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); } catch (final ConflictingModificationAppliedException ex) { LOG.debug("ConflictingModificationAppliedException - was thrown as expected", ex); } - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertFalse(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH).isPresent()); } @Test - public void writeMergeFooBar1stLevelEmptyTreeTest() throws DataValidationFailedException { - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + void writeMergeFooBar1stLevelEmptyTreeTest() throws DataValidationFailedException { + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.write(TestModel.TEST_PATH, createFooTestContainerNode()); modificationTree2.merge(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -186,24 +183,24 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void mergeWriteFooBar1stLevelEmptyTreeTest() throws DataValidationFailedException { - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + void mergeWriteFooBar1stLevelEmptyTreeTest() throws DataValidationFailedException { + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.merge(TestModel.TEST_PATH, createFooTestContainerNode()); modificationTree2.write(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -211,29 +208,29 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); try { inMemoryDataTree.validate(modificationTree2); fail("Exception should have been thrown."); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); } catch (final ConflictingModificationAppliedException ex) { LOG.debug("ConflictingModificationAppliedException - was thrown as expected", ex); } - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertFalse(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH).isPresent()); } @Test - public void mergeMergeFooBar1stLevelEmptyTreeTest() throws DataValidationFailedException { - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + void mergeMergeFooBar1stLevelEmptyTreeTest() throws DataValidationFailedException { + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.merge(TestModel.TEST_PATH, createFooTestContainerNode()); modificationTree2.merge(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -241,28 +238,28 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void writeWriteFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void writeWriteFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.write(TestModel.TEST_PATH, createFooTestContainerNode()); modificationTree2.write(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -270,33 +267,33 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); try { inMemoryDataTree.validate(modificationTree2); fail("Exception should have been thrown."); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); } catch (final ConflictingModificationAppliedException ex) { LOG.debug("ConflictingModificationAppliedException was thrown as expected", ex); } - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertFalse(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH).isPresent()); } @Test - public void writeMergeFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void writeMergeFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.write(TestModel.TEST_PATH, createFooTestContainerNode()); modificationTree2.merge(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -304,28 +301,28 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void mergeWriteFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void mergeWriteFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.merge(TestModel.TEST_PATH, createFooTestContainerNode()); modificationTree2.write(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -333,7 +330,7 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); try { @@ -346,21 +343,21 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { } - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertFalse(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH).isPresent()); } @Test - public void mergeMergeFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void mergeMergeFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.merge(TestModel.TEST_PATH, createFooTestContainerNode()); modificationTree2.merge(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -368,28 +365,28 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void deleteWriteFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void deleteWriteFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.delete(TestModel.TEST_PATH); modificationTree2.write(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -397,33 +394,33 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); try { inMemoryDataTree.validate(modificationTree2); fail("Exception should have been thrown."); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); } catch (final ConflictingModificationAppliedException ex) { LOG.debug("ConflictingModificationAppliedException was thrown as expected", ex); } - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertFalse(snapshotAfterCommits.readNode(TestModel.TEST_PATH).isPresent()); } @Test - public void deleteMergeFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void deleteMergeFooBar1stLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.delete(TestModel.TEST_PATH); modificationTree2.merge(TestModel.TEST_PATH, createBarTestContainerNode()); @@ -431,29 +428,29 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void writeWriteFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void writeWriteFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.write(TestModel.OUTER_LIST_PATH, mapNodeBuilder(TestModel.OUTER_LIST_QNAME) .build()); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.write(OUTER_LIST_1_PATH, FOO_NODE); modificationTree2.write(OUTER_LIST_2_PATH, BAR_NODE); @@ -461,30 +458,30 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void writeMergeFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void writeMergeFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.write(TestModel.OUTER_LIST_PATH, mapNodeBuilder(TestModel.OUTER_LIST_QNAME) .build()); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.write(OUTER_LIST_1_PATH, FOO_NODE); modificationTree2.merge(OUTER_LIST_2_PATH, BAR_NODE); @@ -492,30 +489,30 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void mergeWriteFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void mergeWriteFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.write(TestModel.OUTER_LIST_PATH, mapNodeBuilder(TestModel.OUTER_LIST_QNAME) .build()); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.merge(OUTER_LIST_1_PATH, FOO_NODE); modificationTree2.write(OUTER_LIST_2_PATH, BAR_NODE); @@ -523,30 +520,30 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void mergeMergeFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void mergeMergeFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.write(TestModel.OUTER_LIST_PATH, mapNodeBuilder(TestModel.OUTER_LIST_QNAME) .build()); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.merge(OUTER_LIST_1_PATH, FOO_NODE); modificationTree2.merge(OUTER_LIST_2_PATH, BAR_NODE); @@ -554,30 +551,30 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_1_PATH), MapEntryNode.class); assertPresentAndType(snapshotAfterCommits.readNode(OUTER_LIST_2_PATH), MapEntryNode.class); } @Test - public void deleteWriteFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void deleteWriteFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.write(TestModel.OUTER_LIST_PATH, mapNodeBuilder(TestModel.OUTER_LIST_QNAME) .build()); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.delete(TestModel.TEST_PATH); modificationTree2.write(OUTER_LIST_2_PATH, BAR_NODE); @@ -585,34 +582,34 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); try { inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); fail("Exception should have been thrown"); } catch (final ConflictingModificationAppliedException e) { LOG.debug("Exception was thrown because path no longer exist in tree", e); } - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertFalse(snapshotAfterCommits.readNode(TestModel.TEST_PATH).isPresent()); } @Test - public void deleteMergeFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + void deleteMergeFooBar2ndLevelEmptyContainerTest() throws DataValidationFailedException { + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initialDataTreeModification.write(TestModel.OUTER_LIST_PATH, mapNodeBuilder(TestModel.OUTER_LIST_QNAME) .build()); initialDataTreeModification.ready(); inMemoryDataTree.commit(inMemoryDataTree.prepare(initialDataTreeModification)); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree1 = initialDataTreeSnapshot.newModification(); - final DataTreeModification modificationTree2 = initialDataTreeSnapshot.newModification(); + final var modificationTree1 = initialDataTreeSnapshot.newModification(); + final var modificationTree2 = initialDataTreeSnapshot.newModification(); modificationTree1.delete(TestModel.TEST_PATH); modificationTree2.merge(OUTER_LIST_2_PATH, BAR_NODE); @@ -620,19 +617,19 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest { modificationTree2.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); try { inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); fail("Exception should have been thrown"); } catch (final ConflictingModificationAppliedException e) { LOG.debug("Exception was thrown because path no longer exist in tree", e); } - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); assertFalse(snapshotAfterCommits.readNode(TestModel.TEST_PATH).isPresent()); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConfigStatementValidationTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConfigStatementValidationTest.java index 716c3f4531..fcdbda3bac 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConfigStatementValidationTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConfigStatementValidationTest.java @@ -7,29 +7,25 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.leafNode; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntry; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; -import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; -import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.api.SchemaValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; // TODO: expand these tests to catch some more obscure cases -public class ConfigStatementValidationTest extends AbstractTestModelTest { +class ConfigStatementValidationTest extends AbstractTestModelTest { private static final Short ONE_ID = 1; private static final Short TWO_ID = 2; @@ -70,71 +66,81 @@ public class ConfigStatementValidationTest extends AbstractTestModelTest { .withChild(mapNodeBuilder(TestModel.OUTER_LIST_QNAME).withChild(BAR_NODE).build()).build(); } - @Test(expected = SchemaValidationFailedException.class) - public void testOnPathFail() throws DataValidationFailedException { - final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( - DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final YangInstanceIdentifier ii = OUTER_LIST_1_PATH.node(new NodeIdentifier(TestModel.INNER_LIST_QNAME)) - .node(INNER_FOO_ENTRY_NODE.name()); - modificationTree.write(ii, INNER_FOO_ENTRY_NODE); - - inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); - inMemoryDataTree.commit(prepare); + @Test + void testOnPathFail() { + assertThrows(SchemaValidationFailedException.class, () -> { + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var ii = OUTER_LIST_1_PATH.node(new NodeIdentifier(TestModel.INNER_LIST_QNAME)) + .node(INNER_FOO_ENTRY_NODE.name()); + modificationTree.write(ii, INNER_FOO_ENTRY_NODE); + + inMemoryDataTree.validate(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); + inMemoryDataTree.commit(prepare); + }); } - @Test(expected = SchemaValidationFailedException.class) - public void testOnDataFail() throws DataValidationFailedException { - final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( - DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree.write(TestModel.TEST_PATH, createFooTestContainerNode()); - modificationTree.ready(); - inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); - inMemoryDataTree.commit(prepare); + @Test + void testOnDataFail() { + assertThrows(SchemaValidationFailedException.class, () -> { + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree.write(TestModel.TEST_PATH, createFooTestContainerNode()); + modificationTree.ready(); + inMemoryDataTree.validate(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); + inMemoryDataTree.commit(prepare); + }); } - @Test(expected = SchemaValidationFailedException.class) - public void testOnDataLeafFail() throws DataValidationFailedException { - final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( - DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree.write(TestModel.TEST_PATH, createBarTestContainerNode()); - modificationTree.ready(); - inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); - inMemoryDataTree.commit(prepare); + @Test + void testOnDataLeafFail() { + assertThrows(SchemaValidationFailedException.class, () -> { + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree.write(TestModel.TEST_PATH, createBarTestContainerNode()); + modificationTree.ready(); + inMemoryDataTree.validate(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); + inMemoryDataTree.commit(prepare); + }); } - @Test(expected = SchemaValidationFailedException.class) - public void testOnPathCaseLeafFail() throws DataValidationFailedException { - final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( - DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final NodeIdentifier case2ContId = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "case2-cont")); - final YangInstanceIdentifier ii = TestModel.TEST_PATH.node(choice1Id).node(case2ContId); - final ContainerNode case2Cont = Builders.containerBuilder().withNodeIdentifier(case2ContId) + @Test + void testOnPathCaseLeafFail() { + assertThrows(SchemaValidationFailedException.class, () -> { + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + final var case2ContId = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "case2-cont")); + final var ii = TestModel.TEST_PATH.node(choice1Id).node(case2ContId); + final var case2Cont = Builders.containerBuilder().withNodeIdentifier(case2ContId) .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case2-leaf1"), "leaf-value")).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree.write(ii, case2Cont); - modificationTree.ready(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree.write(ii, case2Cont); + modificationTree.ready(); + }); } - @Test(expected = SchemaValidationFailedException.class) - public void testOnDataCaseLeafFail() throws DataValidationFailedException { - final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( - DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final YangInstanceIdentifier ii = TestModel.TEST_PATH.node(choice1Id); - final ChoiceNode choice1 = Builders.choiceBuilder().withNodeIdentifier(choice1Id) + @Test + void testOnDataCaseLeafFail() { + assertThrows(SchemaValidationFailedException.class, () -> { + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + final var ii = TestModel.TEST_PATH.node(choice1Id); + final var choice1 = Builders.choiceBuilder().withNodeIdentifier(choice1Id) .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case1-leaf1"), "leaf-value")).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree.write(ii, choice1); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree.write(ii, choice1); - modificationTree.ready(); + modificationTree.ready(); + }); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeCandidatesTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeCandidatesTest.java index 635455056b..be73feb80c 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeCandidatesTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeCandidatesTest.java @@ -7,17 +7,16 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.Collection; import java.util.List; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; @@ -25,8 +24,6 @@ import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModificationCursor; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.api.ModificationType; import org.opendaylight.yangtools.yang.data.tree.api.TreeType; @@ -34,51 +31,51 @@ import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory import org.opendaylight.yangtools.yang.data.tree.spi.DataTreeCandidates; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -public class DataTreeCandidatesTest extends AbstractTestModelTest { +class DataTreeCandidatesTest extends AbstractTestModelTest { private DataTree dataTree; - @Before - public void setUp() throws Exception { + @BeforeEach + void setUp() throws Exception { dataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT); - final ContainerNode testContainer = Builders.containerBuilder() + final var testContainer = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(SchemaContext.NAME)) .build()) .build(); - final InMemoryDataTreeModification modification = (InMemoryDataTreeModification) dataTree.takeSnapshot() + final var modification = (InMemoryDataTreeModification) dataTree.takeSnapshot() .newModification(); - final DataTreeModificationCursor cursor = modification.openCursor(); + final var cursor = modification.openCursor(); cursor.write(TestModel.TEST_PATH.getLastPathArgument(), testContainer); modification.ready(); dataTree.validate(modification); - final DataTreeCandidate candidate = dataTree.prepare(modification); + final var candidate = dataTree.prepare(modification); dataTree.commit(candidate); } @Test - public void testRootedCandidate() throws DataValidationFailedException { - final DataTree innerDataTree = new InMemoryDataTreeFactory().create( + void testRootedCandidate() throws DataValidationFailedException { + final var innerDataTree = new InMemoryDataTreeFactory().create( new DataTreeConfiguration.Builder(TreeType.OPERATIONAL) .setMandatoryNodesValidation(true) .setRootPath(TestModel.INNER_CONTAINER_PATH) .setUniqueIndexes(true).build(), SCHEMA_CONTEXT); - final LeafNode leaf = ImmutableNodes.leafNode(TestModel.VALUE_QNAME, "testing-value"); + final var leaf = ImmutableNodes.leafNode(TestModel.VALUE_QNAME, "testing-value"); - final DataTreeModification modification = innerDataTree.takeSnapshot().newModification(); + final var modification = innerDataTree.takeSnapshot().newModification(); modification.write(TestModel.VALUE_PATH, leaf); modification.ready(); dataTree.validate(modification); - final DataTreeCandidate candidate = dataTree.prepare(modification); + final var candidate = dataTree.prepare(modification); dataTree.commit(candidate); - final DataTreeModification newModification = dataTree.takeSnapshot().newModification(); - final DataTreeCandidate newCandidate = DataTreeCandidates.newDataTreeCandidate(TestModel.INNER_CONTAINER_PATH, + final var newModification = dataTree.takeSnapshot().newModification(); + final var newCandidate = DataTreeCandidates.newDataTreeCandidate(TestModel.INNER_CONTAINER_PATH, candidate.getRootNode()); // lets see if getting the identifier of the root node throws an exception @@ -88,20 +85,20 @@ public class DataTreeCandidatesTest extends AbstractTestModelTest { DataTreeCandidates.applyToModification(newModification, newCandidate); - final LeafNode readLeaf = (LeafNode) newModification.readNode(TestModel.INNER_VALUE_PATH).orElseThrow(); + final var readLeaf = (LeafNode) newModification.readNode(TestModel.INNER_VALUE_PATH).orElseThrow(); assertEquals(readLeaf, leaf); } @Test - public void testEmptyMergeOnContainer() throws DataValidationFailedException { - DataTreeModification modification = dataTree.takeSnapshot().newModification(); + void testEmptyMergeOnContainer() throws DataValidationFailedException { + final var modification = dataTree.takeSnapshot().newModification(); modification.merge(TestModel.NON_PRESENCE_PATH, ImmutableNodes.containerNode(TestModel.NON_PRESENCE_QNAME)); modification.ready(); dataTree.validate(modification); // The entire transaction needs to fizzle to a no-op - DataTreeCandidate candidate = dataTree.prepare(modification); - DataTreeCandidateNode node = candidate.getRootNode(); + final var candidate = dataTree.prepare(modification); + final var node = candidate.getRootNode(); assertEquals(ModificationType.UNMODIFIED, node.modificationType()); // 'test' @@ -109,15 +106,15 @@ public class DataTreeCandidatesTest extends AbstractTestModelTest { } @Test - public void testEmptyWriteOnContainer() throws DataValidationFailedException { - DataTreeModification modification = dataTree.takeSnapshot().newModification(); + void testEmptyWriteOnContainer() throws DataValidationFailedException { + final var modification = dataTree.takeSnapshot().newModification(); modification.write(TestModel.NON_PRESENCE_PATH, ImmutableNodes.containerNode(TestModel.NON_PRESENCE_QNAME)); modification.ready(); dataTree.validate(modification); // The entire transaction needs to fizzle to a no-op - DataTreeCandidate candidate = dataTree.prepare(modification); - DataTreeCandidateNode node = candidate.getRootNode(); + final var candidate = dataTree.prepare(modification); + final var node = candidate.getRootNode(); assertEquals(ModificationType.UNMODIFIED, node.modificationType()); // 'test' @@ -125,16 +122,16 @@ public class DataTreeCandidatesTest extends AbstractTestModelTest { } @Test - public void testEmptyMergesOnDeleted() throws DataValidationFailedException { - DataTreeModification modification = dataTree.takeSnapshot().newModification(); + void testEmptyMergesOnDeleted() throws DataValidationFailedException { + final var modification = dataTree.takeSnapshot().newModification(); modification.delete(TestModel.NON_PRESENCE_PATH); modification.merge(TestModel.DEEP_CHOICE_PATH, ImmutableNodes.choiceNode(TestModel.DEEP_CHOICE_QNAME)); modification.ready(); dataTree.validate(modification); - final DataTreeCandidate candidate = dataTree.prepare(modification); + final var candidate = dataTree.prepare(modification); assertEquals(YangInstanceIdentifier.of(), candidate.getRootPath()); - final DataTreeCandidateNode node = candidate.getRootNode(); + final var node = candidate.getRootNode(); assertEquals(ModificationType.UNMODIFIED, node.modificationType()); // 'test' @@ -142,9 +139,9 @@ public class DataTreeCandidatesTest extends AbstractTestModelTest { } @Test - public void testEmptyMergesOnExisting() throws DataValidationFailedException { + void testEmptyMergesOnExisting() throws DataValidationFailedException { // Make sure 'non-presence' is present - DataTreeModification modification = dataTree.takeSnapshot().newModification(); + var modification = dataTree.takeSnapshot().newModification(); modification.write(TestModel.NAME_PATH, ImmutableNodes.leafNode(TestModel.NAME_QNAME, "foo")); modification.ready(); dataTree.validate(modification); @@ -158,9 +155,9 @@ public class DataTreeCandidatesTest extends AbstractTestModelTest { dataTree.validate(modification); // The entire transaction needs to fizzle to a no-op - final DataTreeCandidate candidate = dataTree.prepare(modification); + final var candidate = dataTree.prepare(modification); assertEquals(YangInstanceIdentifier.of(), candidate.getRootPath()); - final DataTreeCandidateNode node = candidate.getRootNode(); + final var node = candidate.getRootNode(); assertEquals(ModificationType.UNMODIFIED, node.modificationType()); // 'non-presence' and 'test' @@ -168,8 +165,8 @@ public class DataTreeCandidatesTest extends AbstractTestModelTest { } @Test - public void testAggregateWithoutChanges() throws DataValidationFailedException { - DataTreeModification modification1 = dataTree.takeSnapshot().newModification(); + void testAggregateWithoutChanges() throws DataValidationFailedException { + final var modification1 = dataTree.takeSnapshot().newModification(); modification1.write( TestModel.INNER_CONTAINER_PATH.node(QName.create(TestModel.INNER_CONTAINER_QNAME,"value")), ImmutableNodes.leafNode(QName.create(TestModel.INNER_CONTAINER_QNAME,"value"),"value1")); @@ -178,46 +175,46 @@ public class DataTreeCandidatesTest extends AbstractTestModelTest { DataTreeCandidate candidate1 = dataTree.prepare(modification1); dataTree.commit(candidate1); - DataTreeModification modification2 = dataTree.takeSnapshot().newModification(); + final var modification2 = dataTree.takeSnapshot().newModification(); modification2.delete(TestModel.INNER_CONTAINER_PATH); modification2.ready(); dataTree.validate(modification2); - DataTreeCandidate candidate2 = dataTree.prepare(modification2); + final var candidate2 = dataTree.prepare(modification2); dataTree.commit(candidate2); - DataTreeCandidate aggregateCandidate = DataTreeCandidates.aggregate(List.of(candidate1, candidate2)); + final var aggregateCandidate = DataTreeCandidates.aggregate(List.of(candidate1, candidate2)); assertEquals(ModificationType.UNMODIFIED, aggregateCandidate.getRootNode().modificationType()); } @Test - public void testAggregate() throws DataValidationFailedException { - DataTreeModification modification = dataTree.takeSnapshot().newModification(); + void testAggregate() throws DataValidationFailedException { + final var modification = dataTree.takeSnapshot().newModification(); modification.write( TestModel.INNER_CONTAINER_PATH.node(QName.create(TestModel.INNER_CONTAINER_QNAME,"value")), ImmutableNodes.leafNode(QName.create(TestModel.INNER_CONTAINER_QNAME,"value"),"value1")); modification.ready(); dataTree.validate(modification); - DataTreeCandidate candidate = dataTree.prepare(modification); + final var candidate = dataTree.prepare(modification); dataTree.commit(candidate); - DataTreeModification modification1 = dataTree.takeSnapshot().newModification(); + final var modification1 = dataTree.takeSnapshot().newModification(); modification1.delete(TestModel.INNER_CONTAINER_PATH); modification1.ready(); dataTree.validate(modification1); DataTreeCandidate candidate1 = dataTree.prepare(modification1); dataTree.commit(candidate1); - DataTreeModification modification2 = dataTree.takeSnapshot().newModification(); + final var modification2 = dataTree.takeSnapshot().newModification(); modification2.write( TestModel.INNER_CONTAINER_PATH.node(QName.create(TestModel.INNER_CONTAINER_QNAME,"value")), ImmutableNodes.leafNode(QName.create(TestModel.INNER_CONTAINER_QNAME,"value"),"value2")); modification2.ready(); dataTree.validate(modification2); - DataTreeCandidate candidate2 = dataTree.prepare(modification2); + final var candidate2 = dataTree.prepare(modification2); dataTree.commit(candidate2); - DataTreeCandidate aggregateCandidate = DataTreeCandidates.aggregate(List.of(candidate1, candidate2)); + final var aggregateCandidate = DataTreeCandidates.aggregate(List.of(candidate1, candidate2)); assertEquals(ModificationType.SUBTREE_MODIFIED,aggregateCandidate.getRootNode().modificationType()); } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeTransactionTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeTransactionTest.java index dac72548e6..253a1c4d5b 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeTransactionTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeTransactionTest.java @@ -7,45 +7,51 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import org.junit.Before; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; -public class DataTreeTransactionTest extends AbstractTestModelTest { +class DataTreeTransactionTest extends AbstractTestModelTest { private DataTree tree; - @Before - public void setUp() { + @BeforeEach + void setUp() { tree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT); } @Test - public void testSealedValidate() throws DataValidationFailedException { - final DataTreeModification mod = tree.takeSnapshot().newModification(); + void testSealedValidate() throws DataValidationFailedException { + final var mod = tree.takeSnapshot().newModification(); mod.ready(); tree.validate(mod); } @Test - public void testSealedPrepare() throws DataValidationFailedException { - final DataTreeModification mod = tree.takeSnapshot().newModification(); + void testSealedPrepare() throws DataValidationFailedException { + final var mod = tree.takeSnapshot().newModification(); mod.ready(); tree.prepare(mod); } - @Test(expected = IllegalArgumentException.class) - public void testUnsealedValidate() throws DataValidationFailedException { - final DataTreeModification mod = tree.takeSnapshot().newModification(); - tree.validate(mod); + @Test + void testUnsealedValidate() throws DataValidationFailedException { + assertThrows(IllegalArgumentException.class, () -> { + final DataTreeModification mod = tree.takeSnapshot().newModification(); + tree.validate(mod); + }); } - @Test(expected = IllegalArgumentException.class) - public void testUnsealedPrepare() throws DataValidationFailedException { - final DataTreeModification mod = tree.takeSnapshot().newModification(); - tree.prepare(mod); + @Test + void testUnsealedPrepare() throws DataValidationFailedException { + assertThrows(IllegalArgumentException.class, () -> { + final DataTreeModification mod = tree.takeSnapshot().newModification(); + tree.prepare(mod); + }); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ErrorReportingTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ErrorReportingTest.java index 77d678f933..b3a11da4a3 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ErrorReportingTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ErrorReportingTest.java @@ -7,31 +7,30 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.ConflictingModificationAppliedException; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.api.ModifiedNodeDoesNotExistException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; -public class ErrorReportingTest extends AbstractTestModelTest { +class ErrorReportingTest extends AbstractTestModelTest { private DataTree tree; - @Before - public void setup() { + @BeforeEach + void setup() { tree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT); } @Test - public void writeWithoutParentExisting() { - DataTreeModification modification = tree.takeSnapshot().newModification(); + void writeWithoutParentExisting() { + final var modification = tree.takeSnapshot().newModification(); // We write node without creating parent modification.write(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) .build()); @@ -47,16 +46,16 @@ public class ErrorReportingTest extends AbstractTestModelTest { } @Test - public void parentConcurrentlyDeletedExisting() throws DataValidationFailedException { - DataTreeModification initial = tree.takeSnapshot().newModification(); + void parentConcurrentlyDeletedExisting() throws DataValidationFailedException { + final var initial = tree.takeSnapshot().newModification(); // We write node without creating parent initial.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); initial.ready(); // We commit transaction tree.commit(tree.prepare(initial)); - final DataTreeModification writeTx = tree.takeSnapshot().newModification(); - final DataTreeModification deleteTx = tree.takeSnapshot().newModification(); + final var writeTx = tree.takeSnapshot().newModification(); + final var deleteTx = tree.takeSnapshot().newModification(); deleteTx.delete(TestModel.TEST_PATH); deleteTx.ready(); // We commit delete modification diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ListConstraintsValidation.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ListConstraintsValidation.java index 07e535285e..f6a1c9b471 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ListConstraintsValidation.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ListConstraintsValidation.java @@ -7,19 +7,17 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.hamcrest.CoreMatchers.instanceOf; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThrows; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; -import java.util.Optional; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.ErrorSeverity; import org.opendaylight.yangtools.yang.common.ErrorTag; import org.opendaylight.yangtools.yang.common.ErrorType; @@ -27,27 +25,20 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; -import org.opendaylight.yangtools.yang.data.api.YangNetconfError; import org.opendaylight.yangtools.yang.data.api.YangNetconfErrorAware; import org.opendaylight.yangtools.yang.data.api.schema.DistinctNodeContainer; -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.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class ListConstraintsValidation { +class ListConstraintsValidation { private static final QName MASTER_CONTAINER_QNAME = QName.create( "urn:opendaylight:params:xml:ns:yang:list-constraints-validation-test-model", "2015-02-02", "master-container"); @@ -77,8 +68,8 @@ public class ListConstraintsValidation { private DataTree inMemoryDataTree; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { schemaContext = YangParserTestUtils.parseYang(""" module list-constraints-validation-test-model { yang-version 1; @@ -126,17 +117,17 @@ public class ListConstraintsValidation { }"""); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { schemaContext = null; } - @Before - public void prepare() throws DataValidationFailedException { + @BeforeEach + void prepare() throws DataValidationFailedException { inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, schemaContext); - final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); - final DataTreeModification modificationTree = initialDataTreeSnapshot.newModification(); + final var initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot(); + final var modificationTree = initialDataTreeSnapshot.newModification(); modificationTree.write(MASTER_CONTAINER_PATH, ImmutableNodes.containerNode(MASTER_CONTAINER_QNAME)); modificationTree.ready(); @@ -144,90 +135,95 @@ public class ListConstraintsValidation { } @Test - public void minMaxListTestPass() throws DataValidationFailedException { + void minMaxListTestPass() throws DataValidationFailedException { - final MapEntryNode fooEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "foo"); - final MapEntryNode barEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "bar"); - final MapNode mapNode1 = ImmutableNodes.mapNodeBuilder() + final var fooEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "foo"); + final var barEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "bar"); + final var mapNode1 = ImmutableNodes.mapNodeBuilder() .withNodeIdentifier(new NodeIdentifier(MIN_MAX_LIST_QNAME)) .withChild(fooEntryNode).build(); - final MapNode mapNode2 = ImmutableNodes.mapNodeBuilder() + final var mapNode2 = ImmutableNodes.mapNodeBuilder() .withNodeIdentifier(new NodeIdentifier(MIN_MAX_LIST_QNAME)) .withChild(barEntryNode).build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(MIN_MAX_LIST_PATH, mapNode1); modificationTree.merge(MIN_MAX_LIST_PATH, mapNode2); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); - final DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); - final Optional minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH); + final var snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); + final var minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH); assertTrue(minMaxListRead.isPresent()); assertEquals(2, ((NormalizedNodeContainer) minMaxListRead.orElseThrow()).size()); } - @Test(expected = DataValidationFailedException.class) - public void minMaxListFail() throws DataValidationFailedException { - DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - - final MapEntryNode fooEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "foo"); - final MapEntryNode barEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "bar"); - final MapEntryNode gooEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, "goo"); - final MapNode mapNode = ImmutableNodes.mapNodeBuilder() + @Test + void minMaxListFail() throws DataValidationFailedException { + assertThrows(DataValidationFailedException.class, () -> { + var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + + final var fooEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, + "foo"); + final var barEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, + "bar"); + final var gooEntryNode = ImmutableNodes.mapEntry(MIN_MAX_LIST_QNAME, MIN_MAX_KEY_LEAF_QNAME, + "goo"); + final var mapNode = ImmutableNodes.mapNodeBuilder() .withNodeIdentifier(new NodeIdentifier(MIN_MAX_LIST_QNAME)) .withChild(fooEntryNode).build(); - final YangInstanceIdentifier fooPath = MIN_MAX_LIST_PATH.node(fooEntryNode.name()); - final YangInstanceIdentifier barPath = MIN_MAX_LIST_PATH.node(barEntryNode.name()); - final YangInstanceIdentifier gooPath = MIN_MAX_LIST_PATH.node(gooEntryNode.name()); + final var fooPath = MIN_MAX_LIST_PATH.node(fooEntryNode.name()); + final var barPath = MIN_MAX_LIST_PATH.node(barEntryNode.name()); + final var gooPath = MIN_MAX_LIST_PATH.node(gooEntryNode.name()); - modificationTree.write(MIN_MAX_LIST_PATH, mapNode); - modificationTree.merge(barPath, barEntryNode); - modificationTree.write(gooPath, gooEntryNode); - modificationTree.delete(gooPath); - modificationTree.ready(); + modificationTree.write(MIN_MAX_LIST_PATH, mapNode); + modificationTree.merge(barPath, barEntryNode); + modificationTree.write(gooPath, gooEntryNode); + modificationTree.delete(gooPath); + modificationTree.ready(); - inMemoryDataTree.validate(modificationTree); - DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree); - inMemoryDataTree.commit(prepare1); + inMemoryDataTree.validate(modificationTree); + var prepare1 = inMemoryDataTree.prepare(modificationTree); + inMemoryDataTree.commit(prepare1); - DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); - Optional minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH); - assertTrue(minMaxListRead.isPresent()); - assertEquals(2, ((NormalizedNodeContainer) minMaxListRead.orElseThrow()).size()); + var snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); + var minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH); + assertTrue(minMaxListRead.isPresent()); + assertEquals(2, ((NormalizedNodeContainer) minMaxListRead.orElseThrow()).size()); - modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree.write(gooPath, gooEntryNode); - modificationTree.ready(); + modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree.write(gooPath, gooEntryNode); + modificationTree.ready(); - inMemoryDataTree.validate(modificationTree); - prepare1 = inMemoryDataTree.prepare(modificationTree); - inMemoryDataTree.commit(prepare1); + inMemoryDataTree.validate(modificationTree); + prepare1 = inMemoryDataTree.prepare(modificationTree); + inMemoryDataTree.commit(prepare1); - snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); - minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH); - assertTrue(minMaxListRead.isPresent()); - assertEquals(3, ((NormalizedNodeContainer) minMaxListRead.orElseThrow()).size()); + snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); + minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH); + assertTrue(minMaxListRead.isPresent()); + assertEquals(3, ((NormalizedNodeContainer) minMaxListRead.orElseThrow()).size()); - modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree.delete(gooPath); - modificationTree.delete(fooPath); - modificationTree.ready(); + modificationTree.delete(gooPath); + modificationTree.delete(fooPath); + modificationTree.ready(); - inMemoryDataTree.validate(modificationTree); + inMemoryDataTree.validate(modificationTree); + }); } @Test - public void minMaxLeafListPass() throws DataValidationFailedException { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void minMaxLeafListPass() throws DataValidationFailedException { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final NodeWithValue barPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "bar"); - final NodeWithValue gooPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "goo"); + final var barPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "bar"); + final var gooPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "goo"); modificationTree.write(MIN_MAX_LEAF_LIST_PATH, Builders.leafSetBuilder() .withNodeIdentifier(new NodeIdentifier(MIN_MAX_LEAF_LIST_QNAME)) @@ -245,13 +241,13 @@ public class ListConstraintsValidation { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree); + final var prepare1 = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare1); - final DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); - final Optional masterContainer = snapshotAfterCommit.readNode(MASTER_CONTAINER_PATH); + final var snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); + final var masterContainer = snapshotAfterCommit.readNode(MASTER_CONTAINER_PATH); assertTrue(masterContainer.isPresent()); - final NormalizedNodeContainer leafList = + final var leafList = (NormalizedNodeContainer) ((DistinctNodeContainer) masterContainer.orElseThrow()) .childByArg(new NodeIdentifier(MIN_MAX_LEAF_LIST_QNAME)); assertNotNull(leafList); @@ -259,12 +255,12 @@ public class ListConstraintsValidation { } @Test - public void minMaxLeafListFail() { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void minMaxLeafListFail() { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final NodeWithValue barPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "bar"); - final NodeWithValue gooPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "goo"); - final NodeWithValue fuuPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "fuu"); + final var barPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "bar"); + final var gooPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "goo"); + final var fuuPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "fuu"); modificationTree.write(MIN_MAX_LEAF_LIST_PATH, Builders.leafSetBuilder() .withNodeIdentifier(new NodeIdentifier(MIN_MAX_LEAF_LIST_QNAME)) @@ -283,7 +279,7 @@ public class ListConstraintsValidation { .withValue("fuu") .build()); - final MinMaxElementsValidationFailedException ex = assertThrows(MinMaxElementsValidationFailedException.class, + final var ex = assertThrows(MinMaxElementsValidationFailedException.class, () -> modificationTree.ready()); assertEquals("(urn:opendaylight:params:xml:ns:yang:list-constraints-validation-test-model?" + "revision=2015-02-02)min-max-leaf-list has too many elements (4), can have at most 3", @@ -292,10 +288,10 @@ public class ListConstraintsValidation { } @Test - public void unkeyedListTestPass() throws DataValidationFailedException { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void unkeyedListTestPass() throws DataValidationFailedException { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final UnkeyedListNode unkeyedListNode = Builders.unkeyedListBuilder() + final var unkeyedListNode = Builders.unkeyedListBuilder() .withNodeIdentifier(new NodeIdentifier(UNKEYED_LIST_QNAME)) .withValue(List.of(Builders.unkeyedListEntryBuilder() .withNodeIdentifier(new NodeIdentifier(UNKEYED_LEAF_QNAME)) @@ -308,18 +304,18 @@ public class ListConstraintsValidation { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree); + final var prepare1 = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare1); - final DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); - final Optional unkeyedListRead = snapshotAfterCommit.readNode(UNKEYED_LIST_PATH); + final var snapshotAfterCommit = inMemoryDataTree.takeSnapshot(); + final var unkeyedListRead = snapshotAfterCommit.readNode(UNKEYED_LIST_PATH); assertTrue(unkeyedListRead.isPresent()); assertEquals(1, ((UnkeyedListNode) unkeyedListRead.orElseThrow()).size()); } @Test - public void unkeyedListTestFail() { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + void unkeyedListTestFail() { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(UNKEYED_LIST_PATH, Builders.unkeyedListBuilder() .withNodeIdentifier(new NodeIdentifier(UNKEYED_LIST_QNAME)) @@ -333,7 +329,7 @@ public class ListConstraintsValidation { .withChild(ImmutableNodes.leafNode(UNKEYED_LEAF_QNAME, "bar")) .build())) .build()); - final MinMaxElementsValidationFailedException ex = assertThrows(MinMaxElementsValidationFailedException.class, + final var ex = assertThrows(MinMaxElementsValidationFailedException.class, () -> modificationTree.ready()); assertEquals("(urn:opendaylight:params:xml:ns:yang:list-constraints-validation-test-model?" + "revision=2015-02-02)unkeyed-list has too many elements (2), can have at most 1", ex.getMessage()); @@ -349,10 +345,10 @@ public class ListConstraintsValidation { } private static void assertOperationFailed(final Exception ex, final String expectedAppTag) { - assertThat(ex, instanceOf(YangNetconfErrorAware.class)); - final List errors = ((YangNetconfErrorAware) ex).getNetconfErrors(); + assertInstanceOf(YangNetconfErrorAware.class, ex); + final var errors = ((YangNetconfErrorAware) ex).getNetconfErrors(); assertEquals(1, errors.size()); - final YangNetconfError error = errors.get(0); + final var error = errors.get(0); assertEquals(ErrorSeverity.ERROR, error.severity()); assertEquals(ErrorType.APPLICATION, error.type()); assertEquals(ErrorTag.OPERATION_FAILED, error.tag()); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/MandatoryLeafTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/MandatoryLeafTest.java index 02c87200eb..3d2c52bcd9 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/MandatoryLeafTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/MandatoryLeafTest.java @@ -7,36 +7,34 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.leafNode; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.api.TreeType; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -public class MandatoryLeafTest { +class MandatoryLeafTest { private static EffectiveModelContext SCHEMA_CONTEXT; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { SCHEMA_CONTEXT = TestModel.createTestContext("/mandatory-leaf-test.yang"); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { SCHEMA_CONTEXT = null; } @@ -47,11 +45,11 @@ public class MandatoryLeafTest { } @Test - public void testCorrectMandatoryLeafWrite() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(true); - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + void testCorrectMandatoryLeafWrite() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(true); + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final ContainerNode container = Builders.containerBuilder() + final var container = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .withChild(Builders.choiceBuilder() .withNodeIdentifier(choice1Id) @@ -63,34 +61,34 @@ public class MandatoryLeafTest { .build()) .build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(TestModel.TEST_PATH, container); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void testCorrectMandatoryLeafChoiceWrite() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(true); + void testCorrectMandatoryLeafChoiceWrite() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(true); // Container write - final ContainerNode container = Builders.containerBuilder() + final var container = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) .build(); - final DataTreeModification modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree1.write(TestModel.TEST_PATH, container); modificationTree1.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); // Choice write - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final ChoiceNode choice = Builders.choiceBuilder() + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + final var choice = Builders.choiceBuilder() .withNodeIdentifier(choice1Id) .withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "case2-cont"))) @@ -99,51 +97,53 @@ public class MandatoryLeafTest { .build()) .build(); - final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree2.write(TestModel.TEST_PATH.node(choice1Id), choice); modificationTree2.ready(); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); } - @Test(expected = IllegalArgumentException.class) - public void testMandatoryLeafViolation() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(true); - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - - final ContainerNode container = Builders.containerBuilder() - .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) - .withChild(Builders.choiceBuilder() - .withNodeIdentifier(choice1Id) - .withChild(Builders.containerBuilder() - .withNodeIdentifier(new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "case2-cont"))) - .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case2-leaf2"), "leaf-value2")) + @Test + void testMandatoryLeafViolation() { + assertThrows(IllegalArgumentException.class, () -> { + final var inMemoryDataTree = initDataTree(true); + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + + final var container = Builders.containerBuilder() + .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) + .withChild(Builders.choiceBuilder() + .withNodeIdentifier(choice1Id) + .withChild(Builders.containerBuilder() + .withNodeIdentifier(new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "case2-cont"))) + .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case2-leaf2"), "leaf-value2")) + .build()) .build()) - .build()) - .build(); - try { - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree.write(TestModel.TEST_PATH, container); - modificationTree.ready(); - - inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); - inMemoryDataTree.commit(prepare); - } catch (final IllegalArgumentException e) { - assertEquals("Node (urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test?" + .build(); + try { + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree.write(TestModel.TEST_PATH, container); + modificationTree.ready(); + + inMemoryDataTree.validate(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); + inMemoryDataTree.commit(prepare); + } catch (final IllegalArgumentException e) { + assertEquals("Node (urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test?" + "revision=2014-03-13)choice1 is missing mandatory descendant /(urn:opendaylight:params:xml:ns:" + "yang:controller:md:sal:dom:store:test?revision=2014-03-13)case2-cont/case2-leaf1", e.getMessage()); - throw e; - } + throw e; + } + }); } @Test - public void testDisabledValidation() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(false); - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + void testDisabledValidation() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(false); + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); final ContainerNode container = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)) @@ -155,74 +155,76 @@ public class MandatoryLeafTest { .build()) .build()) .build(); - final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(TestModel.TEST_PATH, container); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } - @Test(expected = IllegalArgumentException.class) - public void testMandatoryLeafViolationChoiceWrite() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(true); - // Container write - final ContainerNode container = Builders.containerBuilder() + @Test + void testMandatoryLeafViolationChoiceWrite() { + assertThrows(IllegalArgumentException.class, () -> { + final var inMemoryDataTree = initDataTree(true); + // Container write + final var container = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)).build(); - final DataTreeModification modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree1.write(TestModel.TEST_PATH, container); - modificationTree1.ready(); - - inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); - inMemoryDataTree.commit(prepare1); + final var modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree1.write(TestModel.TEST_PATH, container); + modificationTree1.ready(); - // Choice write - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final ChoiceNode choice = Builders.choiceBuilder() - .withNodeIdentifier(choice1Id) - .withChild(Builders.containerBuilder() - .withNodeIdentifier(new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "case2-cont"))) - .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case2-leaf2"), "leaf-value2")) - .build()) - .build(); + inMemoryDataTree.validate(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); + inMemoryDataTree.commit(prepare1); - try { - final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); - modificationTree2.write(TestModel.TEST_PATH.node(choice1Id), choice); - modificationTree2.ready(); - inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); - inMemoryDataTree.commit(prepare2); - } catch (final IllegalArgumentException e) { - assertEquals("Node (urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test?" + // Choice write + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + final var choice = Builders.choiceBuilder() + .withNodeIdentifier(choice1Id) + .withChild(Builders.containerBuilder() + .withNodeIdentifier(new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "case2-cont"))) + .withChild(leafNode(QName.create(TestModel.TEST_QNAME, "case2-leaf2"), "leaf-value2")) + .build()) + .build(); + + try { + final var modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + modificationTree2.write(TestModel.TEST_PATH.node(choice1Id), choice); + modificationTree2.ready(); + inMemoryDataTree.validate(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); + inMemoryDataTree.commit(prepare2); + } catch (final IllegalArgumentException e) { + assertEquals("Node (urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test?" + "revision=2014-03-13)choice1 is missing mandatory descendant /(urn:opendaylight:params:xml:ns:" + "yang:controller:md:sal:dom:store:test?revision=2014-03-13)case2-cont/case2-leaf1", e.getMessage()); - throw e; - } + throw e; + } + }); } @Test - public void testDisabledValidationChoiceWrite() throws DataValidationFailedException { - final DataTree inMemoryDataTree = initDataTree(false); + void testDisabledValidationChoiceWrite() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(false); // Container write - final ContainerNode container = Builders.containerBuilder() + final var container = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME)).build(); - final DataTreeModification modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree1 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree1.write(TestModel.TEST_PATH, container); modificationTree1.ready(); inMemoryDataTree.validate(modificationTree1); - final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1); + final var prepare1 = inMemoryDataTree.prepare(modificationTree1); inMemoryDataTree.commit(prepare1); // Choice write - final NodeIdentifier choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); - final ChoiceNode choice = Builders.choiceBuilder() + final var choice1Id = new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "choice1")); + final var choice = Builders.choiceBuilder() .withNodeIdentifier(choice1Id) .withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(QName.create(TestModel.TEST_QNAME, "case2-cont"))) @@ -230,11 +232,11 @@ public class MandatoryLeafTest { .build()) .build(); - final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree2 = inMemoryDataTree.takeSnapshot().newModification(); modificationTree2.write(TestModel.TEST_PATH.node(choice1Id), choice); modificationTree2.ready(); inMemoryDataTree.validate(modificationTree2); - final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2); + final var prepare2 = inMemoryDataTree.prepare(modificationTree2); inMemoryDataTree.commit(prepare2); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/MapEntryRootTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/MapEntryRootTest.java index 2c4075becd..abab5a6d83 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/MapEntryRootTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/MapEntryRootTest.java @@ -7,29 +7,26 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.hamcrest.CoreMatchers.instanceOf; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.tree.api.TreeType; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; -public class MapEntryRootTest extends AbstractTestModelTest { +class MapEntryRootTest extends AbstractTestModelTest { @Test - public void testMapEntryRoot() { - final DataTreeConfiguration treeConfig = DataTreeConfiguration.builder(TreeType.OPERATIONAL).setRootPath( + void testMapEntryRoot() { + final var treeConfig = DataTreeConfiguration.builder(TreeType.OPERATIONAL).setRootPath( TestModel.TEST_PATH.node(TestModel.OUTER_LIST_QNAME).node( NodeIdentifierWithPredicates.of(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, (short) 12))).build(); - final DataTree dataTree = new InMemoryDataTreeFactory().create(treeConfig, SCHEMA_CONTEXT); - assertTrue(dataTree instanceof InMemoryDataTree); + final var dataTree = new InMemoryDataTreeFactory().create(treeConfig, SCHEMA_CONTEXT); + assertInstanceOf(InMemoryDataTree.class, dataTree); - final InMemoryDataTree imdt = (InMemoryDataTree) dataTree; - final InMemoryDataTreeModification mod = imdt.takeSnapshot().newModification(); - final ModificationApplyOperation strategy = mod.getStrategy(); - assertThat(strategy, instanceOf(MapEntryModificationStrategy.class)); + final var imdt = (InMemoryDataTree) dataTree; + final var mod = imdt.takeSnapshot().newModification(); + final var strategy = mod.getStrategy(); + assertInstanceOf(MapEntryModificationStrategy.class, strategy); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ModificationMetadataTreeTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ModificationMetadataTreeTest.java index 0495d89e7c..2692e5dd7e 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ModificationMetadataTreeTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ModificationMetadataTreeTest.java @@ -7,26 +7,24 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntry; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; import java.util.Optional; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; 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.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; -import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; @@ -57,18 +55,13 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; * } * } */ -public class ModificationMetadataTreeTest extends AbstractTestModelTest { +class ModificationMetadataTreeTest extends AbstractTestModelTest { private static final Short ONE_ID = 1; private static final Short TWO_ID = 2; private static final String TWO_ONE_NAME = "one"; private static final String TWO_TWO_NAME = "two"; - private static final YangInstanceIdentifier OUTER_LIST_1_PATH = - YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH) - .nodeWithKey(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, ONE_ID) - .build(); - private static final YangInstanceIdentifier OUTER_LIST_2_PATH = YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH) .nodeWithKey(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, TWO_ID) @@ -92,8 +85,8 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest { private RootApplyStrategy rootOper; - @Before - public void prepare() throws ExcludedDataSchemaNodeException { + @BeforeEach + void prepare() throws ExcludedDataSchemaNodeException { rootOper = RootApplyStrategy.from(SchemaAwareApplyOperation.from(SCHEMA_CONTEXT, DataTreeConfiguration.DEFAULT_OPERATIONAL)); } @@ -132,11 +125,11 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest { } @Test - public void basicReadWrites() { - final DataTreeModification modificationTree = new InMemoryDataTreeModification( + void basicReadWrites() { + final var modificationTree = new InMemoryDataTreeModification( new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, TreeNode.of(createDocumentOne(), Version.initial()), rootOper), rootOper); - final Optional originalBarNode = modificationTree.readNode(OUTER_LIST_2_PATH); + final var originalBarNode = modificationTree.readNode(OUTER_LIST_2_PATH); assertTrue(originalBarNode.isPresent()); assertSame(BAR_NODE, originalBarNode.orElseThrow()); @@ -145,13 +138,13 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest { // reads node to /outer-list/1/inner_list/two/value // and checks if node is already present - final Optional barTwoCModified = modificationTree.readNode(TWO_TWO_VALUE_PATH); + final var barTwoCModified = modificationTree.readNode(TWO_TWO_VALUE_PATH); assertTrue(barTwoCModified.isPresent()); assertEquals(ImmutableNodes.leafNode(TestModel.VALUE_QNAME, "test"), barTwoCModified.orElseThrow()); // delete node to /outer-list/1/inner_list/two/value modificationTree.delete(TWO_TWO_VALUE_PATH); - final Optional barTwoCAfterDelete = modificationTree.readNode(TWO_TWO_VALUE_PATH); + final var barTwoCAfterDelete = modificationTree.readNode(TWO_TWO_VALUE_PATH); assertFalse(barTwoCAfterDelete.isPresent()); } @@ -160,7 +153,7 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest { /** * Creates empty Snapshot with associated schema context. */ - final DataTree t = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, + final var t = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT); /** @@ -173,9 +166,9 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest { } @Test - public void createFromEmptyState() { + void createFromEmptyState() { - final DataTreeModification modificationTree = createEmptyModificationTree(); + final var modificationTree = createEmptyModificationTree(); // Writes empty container node to /test modificationTree.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); @@ -184,33 +177,33 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest { .build()); // Reads list node from /test/outer-list. - final Optional potentialOuterList = modificationTree.readNode(TestModel.OUTER_LIST_PATH); + final var potentialOuterList = modificationTree.readNode(TestModel.OUTER_LIST_PATH); assertFalse(potentialOuterList.isPresent()); // Reads container node from /test and verifies that it contains test node. - final Optional potentialTest = modificationTree.readNode(TestModel.TEST_PATH); + final var potentialTest = modificationTree.readNode(TestModel.TEST_PATH); assertPresentAndType(potentialTest, ContainerNode.class); } @Test - public void writeSubtreeReadChildren() { - final DataTreeModification modificationTree = createEmptyModificationTree(); + void writeSubtreeReadChildren() { + final var modificationTree = createEmptyModificationTree(); modificationTree.write(TestModel.TEST_PATH, createTestContainer()); - final Optional potential = modificationTree.readNode(TWO_TWO_PATH); + final var potential = modificationTree.readNode(TWO_TWO_PATH); assertPresentAndType(potential, MapEntryNode.class); } @Test - public void writeSubtreeDeleteChildren() { - final DataTreeModification modificationTree = createEmptyModificationTree(); + void writeSubtreeDeleteChildren() { + final var modificationTree = createEmptyModificationTree(); modificationTree.write(TestModel.TEST_PATH, createTestContainer()); // We verify data are present - final Optional potentialBeforeDelete = modificationTree.readNode(TWO_TWO_PATH); + final var potentialBeforeDelete = modificationTree.readNode(TWO_TWO_PATH); assertPresentAndType(potentialBeforeDelete, MapEntryNode.class); modificationTree.delete(TWO_TWO_PATH); - final Optional potentialAfterDelete = modificationTree.readNode(TWO_TWO_PATH); + final var potentialAfterDelete = modificationTree.readNode(TWO_TWO_PATH); assertFalse(potentialAfterDelete.isPresent()); } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/NormalizedNodePrettyTreeTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/NormalizedNodePrettyTreeTest.java index 01ca692172..20abd4a478 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/NormalizedNodePrettyTreeTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/NormalizedNodePrettyTreeTest.java @@ -7,13 +7,13 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { +class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { @Test - public void testMapNodePrettyTree() { + void testMapNodePrettyTree() { assertEquals(String.join("\n", "systemMapNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)list-a = {", " mapEntryNode list-a = {", @@ -34,7 +34,7 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testMapEntryPrettyTree() { + void testMapEntryPrettyTree() { assertEquals(String.join("\n", "mapEntryNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)list-a = {", " leafNode leaf-a = \"bar\"", @@ -50,7 +50,7 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testChoicePrettyTree() { + void testChoicePrettyTree() { assertEquals(String.join("\n", "choiceNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)choice = {", " leafNode augment = \"Augmented leaf value\"", @@ -58,13 +58,13 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testLeafPrettyTree() { + void testLeafPrettyTree() { assertEquals("leafNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)leaf = \"Leaf value\"", createLeafNode().prettyTree().get()); } @Test - public void testLeafSetPrettyTree() { + void testLeafSetPrettyTree() { assertEquals(String.join("\n", "systemLeafSetNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)leaf-set = {", " leafSetEntryNode leaf-set = \"Leaf set value\"", @@ -72,7 +72,7 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testUserLeafSetPrettyTree() { + void testUserLeafSetPrettyTree() { assertEquals(String.join("\n", "userLeafSetNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)user-leaf-set = {", " leafSetEntryNode user-leaf-set = \"User leaf set value\"", @@ -80,7 +80,7 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testUserMapPrettyTree() { + void testUserMapPrettyTree() { assertEquals(String.join("\n", "userMapNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)user-map = {", " mapEntryNode user-map = {", @@ -90,7 +90,7 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testUserMapEntryPrettyTree() { + void testUserMapEntryPrettyTree() { assertEquals(String.join("\n", "mapEntryNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)user-map = {", " leafNode user-map-entry = \"User map entry value\"", @@ -98,7 +98,7 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testUnkeyedListPrettyTree() { + void testUnkeyedListPrettyTree() { assertEquals(String.join("\n", "unkeyedListNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)unkeyed-list = {", " unkeyedListEntryNode unkeyed-list-entry = {", @@ -108,7 +108,7 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testUnkeyedListEntryPrettyTree() { + void testUnkeyedListEntryPrettyTree() { assertEquals(String.join("\n", "unkeyedListEntryNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)unkeyed-list-entry = {", " leafNode unkeyed-list-leaf = \"Unkeyed list leaf value\"", @@ -116,14 +116,14 @@ public class NormalizedNodePrettyTreeTest extends AbstractPrettyTreeTest { } @Test - public void testAnyDataPrettyTree() { + void testAnyDataPrettyTree() { assertEquals(String.join("\n", "anydataNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)any-data = (java.lang.String)"), createAnyDataNode().prettyTree().get()); } @Test - public void testContainerPrettyTree() { + void testContainerPrettyTree() { assertEquals(String.join("\n", "containerNode (urn:opendaylight:controller:sal:dom:store:test@2014-03-13)root = {", " userMapNode user-map = {", diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/OrderedListTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/OrderedListTest.java index d0ca71bbcb..bace335f3b 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/OrderedListTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/OrderedListTest.java @@ -7,37 +7,31 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import com.google.common.collect.ImmutableMap; -import java.util.Optional; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -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.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.UserMapNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.tree.api.ConflictingModificationAppliedException; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class OrderedListTest { +class OrderedListTest { private static final Logger LOG = LoggerFactory.getLogger(OrderedListTest.class); private DataTree inMemoryDataTree; @@ -52,8 +46,8 @@ public class OrderedListTest { private QName childKeyLeaf; private QName childOrdinaryLeaf; - @Before - public void setup() { + @BeforeEach + void setup() { testModule = QNameModule.create(XMLNamespace.of("ordered-list-modification-test")); parentContainer = QName.create(testModule, "parent-container"); childContainer = QName.create(testModule, "child-container"); @@ -100,7 +94,7 @@ public class OrderedListTest { } @Test - public void testsequentialModifications() throws DataValidationFailedException { + void testsequentialModifications() throws DataValidationFailedException { modification1(); modification2(); delete1(); @@ -110,28 +104,28 @@ public class OrderedListTest { } public void modification1() throws DataValidationFailedException { - UserMapNode parentOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( + final var parentOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( new NodeIdentifier(parentOrderedList)) .withChild(createParentOrderedListEntry("pkval1", "plfval1")) .withChild(createParentOrderedListEntry("pkval2", "plfval2")) .withChild(createParentOrderedListEntry("pkval3", "plfval3")).build(); - ContainerNode parentContainerNode = Builders.containerBuilder().withNodeIdentifier( + final var parentContainerNode = Builders.containerBuilder().withNodeIdentifier( new NodeIdentifier(parentContainer)).withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(childContainer)).withChild(parentOrderedListNode).build()) .build(); - YangInstanceIdentifier path1 = YangInstanceIdentifier.of(parentContainer); + final var path1 = YangInstanceIdentifier.of(parentContainer); - DataTreeModification treeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var treeModification = inMemoryDataTree.takeSnapshot().newModification(); treeModification.write(path1, parentContainerNode); - UserMapNode childOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( + final var childOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( new NodeIdentifier(childOrderedList)) .withChild(createChildOrderedListEntry("chkval1", "chlfval1")) .withChild(createChildOrderedListEntry("chkval2", "chlfval2")).build(); - YangInstanceIdentifier path2 = YangInstanceIdentifier.of(parentContainer, childContainer, parentOrderedList) + final var path2 = YangInstanceIdentifier.of(parentContainer, childContainer, parentOrderedList) .node(createParentOrderedListEntryPath("pkval2")).node(childOrderedList); treeModification.write(path2, childOrderedListNode); @@ -139,8 +133,8 @@ public class OrderedListTest { inMemoryDataTree.validate(treeModification); inMemoryDataTree.commit(inMemoryDataTree.prepare(treeModification)); - DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); - Optional readNode = snapshotAfterCommits.readNode(path1); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + var readNode = snapshotAfterCommits.readNode(path1); assertTrue(readNode.isPresent()); readNode = snapshotAfterCommits.readNode(path2); @@ -148,29 +142,29 @@ public class OrderedListTest { } public void modification2() throws DataValidationFailedException { - UserMapNode parentOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( + final var parentOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( new NodeIdentifier(parentOrderedList)) .withChild(createParentOrderedListEntry("pkval3", "plfval3updated")) .withChild(createParentOrderedListEntry("pkval4", "plfval4")) .withChild(createParentOrderedListEntry("pkval5", "plfval5")).build(); - ContainerNode parentContainerNode = Builders.containerBuilder().withNodeIdentifier( + final var parentContainerNode = Builders.containerBuilder().withNodeIdentifier( new NodeIdentifier(parentContainer)).withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(childContainer)).withChild(parentOrderedListNode).build()) .build(); - DataTreeModification treeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var treeModification = inMemoryDataTree.takeSnapshot().newModification(); - YangInstanceIdentifier path1 = YangInstanceIdentifier.of(parentContainer); + final var path1 = YangInstanceIdentifier.of(parentContainer); treeModification.merge(path1, parentContainerNode); - UserMapNode childOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( + final var childOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( new NodeIdentifier(childOrderedList)) .withChild(createChildOrderedListEntry("chkval1", "chlfval1updated")) .withChild(createChildOrderedListEntry("chkval2", "chlfval2updated")) .withChild(createChildOrderedListEntry("chkval3", "chlfval3")).build(); - YangInstanceIdentifier path2 = YangInstanceIdentifier.of(parentContainer).node(childContainer) + final var path2 = YangInstanceIdentifier.of(parentContainer).node(childContainer) .node(parentOrderedList).node(createParentOrderedListEntryPath("pkval2")).node(childOrderedList); treeModification.merge(path2, childOrderedListNode); @@ -178,8 +172,8 @@ public class OrderedListTest { inMemoryDataTree.validate(treeModification); inMemoryDataTree.commit(inMemoryDataTree.prepare(treeModification)); - DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); - Optional readNode = snapshotAfterCommits.readNode(path1); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + var readNode = snapshotAfterCommits.readNode(path1); assertTrue(readNode.isPresent()); readNode = snapshotAfterCommits.readNode(path2); @@ -187,25 +181,25 @@ public class OrderedListTest { } public void modification3() throws DataValidationFailedException { - UserMapNode parentOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( + final var parentOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( new NodeIdentifier(parentOrderedList)) .withChild(createParentOrderedListEntry("pkval1", "plfval1")).build(); - ContainerNode parentContainerNode = Builders.containerBuilder().withNodeIdentifier( + final var parentContainerNode = Builders.containerBuilder().withNodeIdentifier( new NodeIdentifier(parentContainer)).withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(childContainer)).withChild(parentOrderedListNode).build()) .build(); - YangInstanceIdentifier path1 = YangInstanceIdentifier.of(parentContainer); + final var path1 = YangInstanceIdentifier.of(parentContainer); - DataTreeModification treeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var treeModification = inMemoryDataTree.takeSnapshot().newModification(); treeModification.write(path1, parentContainerNode); - UserMapNode childOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( + final var childOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( new NodeIdentifier(childOrderedList)) .withChild(createChildOrderedListEntry("chkval1", "chlfval1new")).build(); - YangInstanceIdentifier path2 = YangInstanceIdentifier.of(parentContainer).node(childContainer) + final var path2 = YangInstanceIdentifier.of(parentContainer).node(childContainer) .node(parentOrderedList) .node(createParentOrderedListEntryPath("pkval4")).node(childOrderedList); @@ -221,8 +215,8 @@ public class OrderedListTest { assertTrue(ex.getMessage().contains("Metadata not available for modification ModifiedNode")); } - DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); - Optional readNode = snapshotAfterCommits.readNode(path1); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + var readNode = snapshotAfterCommits.readNode(path1); assertTrue(readNode.isPresent()); readNode = snapshotAfterCommits.readNode(path2); @@ -230,28 +224,28 @@ public class OrderedListTest { } public void modification4() throws DataValidationFailedException { - DataTreeModification treeModification1 = inMemoryDataTree.takeSnapshot().newModification(); - DataTreeModification treeModification2 = inMemoryDataTree.takeSnapshot().newModification(); + final var treeModification1 = inMemoryDataTree.takeSnapshot().newModification(); + final var treeModification2 = inMemoryDataTree.takeSnapshot().newModification(); - UserMapNode parentOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( + final var parentOrderedListNode = Builders.orderedMapBuilder().withNodeIdentifier( new NodeIdentifier(parentOrderedList)).withChild(createParentOrderedListEntry("pkval1", "plfval1")) .build(); - UserMapNode parentOrderedListNode2 = Builders.orderedMapBuilder().withNodeIdentifier( + final var parentOrderedListNode2 = Builders.orderedMapBuilder().withNodeIdentifier( new NodeIdentifier(parentOrderedList)).withChild(createParentOrderedListEntry("pkval2", "plfval2")) .build(); - ContainerNode parentContainerNode = Builders.containerBuilder().withNodeIdentifier( + final var parentContainerNode = Builders.containerBuilder().withNodeIdentifier( new NodeIdentifier(parentContainer)).withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(childContainer)).withChild(parentOrderedListNode).build()) .build(); - ContainerNode parentContainerNode2 = Builders.containerBuilder().withNodeIdentifier( + final var parentContainerNode2 = Builders.containerBuilder().withNodeIdentifier( new NodeIdentifier(parentContainer)).withChild(Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(childContainer)).withChild(parentOrderedListNode2).build()) .build(); - YangInstanceIdentifier path = YangInstanceIdentifier.of(parentContainer); + final var path = YangInstanceIdentifier.of(parentContainer); treeModification1.write(path, parentContainerNode); treeModification2.write(path, parentContainerNode2); @@ -270,39 +264,39 @@ public class OrderedListTest { assertTrue(ex.getMessage().contains("Node was replaced by other transaction")); } - DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); - Optional readNode = snapshotAfterCommits.readNode(path); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var readNode = snapshotAfterCommits.readNode(path); assertTrue(readNode.isPresent()); } public void delete1() throws DataValidationFailedException { - YangInstanceIdentifier path = YangInstanceIdentifier.of(parentContainer).node(childContainer) + final var path = YangInstanceIdentifier.of(parentContainer).node(childContainer) .node(parentOrderedList).node(createParentOrderedListEntryPath("pkval2")).node(childOrderedList) .node(createChildOrderedListEntryPath("chkval1")); - DataTreeModification treeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var treeModification = inMemoryDataTree.takeSnapshot().newModification(); treeModification.delete(path); treeModification.ready(); inMemoryDataTree.validate(treeModification); inMemoryDataTree.commit(inMemoryDataTree.prepare(treeModification)); - DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); - Optional readNode = snapshotAfterCommits.readNode(path); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var readNode = snapshotAfterCommits.readNode(path); assertFalse(readNode.isPresent()); } public void delete2() throws DataValidationFailedException { - YangInstanceIdentifier path = YangInstanceIdentifier.of(parentContainer).node(childContainer) + final var path = YangInstanceIdentifier.of(parentContainer).node(childContainer) .node(parentOrderedList).node(createParentOrderedListEntryPath("pkval2")); - DataTreeModification treeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var treeModification = inMemoryDataTree.takeSnapshot().newModification(); treeModification.delete(path); treeModification.ready(); inMemoryDataTree.validate(treeModification); inMemoryDataTree.commit(inMemoryDataTree.prepare(treeModification)); - DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); - Optional readNode = snapshotAfterCommits.readNode(path); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var readNode = snapshotAfterCommits.readNode(path); assertFalse(readNode.isPresent()); } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StoreTreeNodesTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StoreTreeNodesTest.java index d0264de4f7..d65287b18f 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StoreTreeNodesTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StoreTreeNodesTest.java @@ -7,19 +7,18 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntry; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; -import java.util.Map.Entry; import java.util.Optional; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -65,8 +64,8 @@ public class StoreTreeNodesTest extends AbstractTestModelTest { private RootApplyStrategy rootOper; - @Before - public void prepare() throws ExcludedDataSchemaNodeException { + @BeforeEach + void prepare() throws ExcludedDataSchemaNodeException { rootOper = RootApplyStrategy.from(SchemaAwareApplyOperation.from(SCHEMA_CONTEXT, DataTreeConfiguration.DEFAULT_OPERATIONAL)); } @@ -79,31 +78,31 @@ public class StoreTreeNodesTest extends AbstractTestModelTest { } @Test - public void findNodeTestNodeFound() { - final InMemoryDataTreeSnapshot inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, + void findNodeTestNodeFound() { + final var inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, TreeNode.of(createDocumentOne(), Version.initial()), rootOper); - final TreeNode rootNode = inMemoryDataTreeSnapshot.getRootNode(); - final Optional node = StoreTreeNodes.findNode(rootNode, OUTER_LIST_1_PATH); + final var rootNode = inMemoryDataTreeSnapshot.getRootNode(); + final var node = StoreTreeNodes.findNode(rootNode, OUTER_LIST_1_PATH); assertPresentAndType(node, TreeNode.class); } @Test - public void findNodeTestNodeNotFound() { - final InMemoryDataTreeSnapshot inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, + void findNodeTestNodeNotFound() { + final var inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, TreeNode.of(createDocumentOne(), Version.initial()), rootOper); - final TreeNode rootNode = inMemoryDataTreeSnapshot.getRootNode(); - final YangInstanceIdentifier outerList1InvalidPath = YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH) + final var rootNode = inMemoryDataTreeSnapshot.getRootNode(); + final var outerList1InvalidPath = YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH) .nodeWithKey(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 3) // .build(); - final Optional node = StoreTreeNodes.findNode(rootNode, outerList1InvalidPath); + final var node = StoreTreeNodes.findNode(rootNode, outerList1InvalidPath); assertFalse(node.isPresent()); } @Test - public void findNodeCheckedTestNodeFound() { - final InMemoryDataTreeSnapshot inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, + void findNodeCheckedTestNodeFound() { + final var inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, TreeNode.of(createDocumentOne(), Version.initial()), rootOper); - final TreeNode rootNode = inMemoryDataTreeSnapshot.getRootNode(); + final var rootNode = inMemoryDataTreeSnapshot.getRootNode(); TreeNode foundNode = null; try { foundNode = StoreTreeNodes.findNodeChecked(rootNode, OUTER_LIST_1_PATH); @@ -114,11 +113,11 @@ public class StoreTreeNodesTest extends AbstractTestModelTest { } @Test - public void findNodeCheckedTestNodeNotFound() { - final InMemoryDataTreeSnapshot inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, + void findNodeCheckedTestNodeNotFound() { + final var inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, TreeNode.of(createDocumentOne(), Version.initial()), rootOper); - final TreeNode rootNode = inMemoryDataTreeSnapshot.getRootNode(); - final YangInstanceIdentifier outerList1InvalidPath = YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH) + final var rootNode = inMemoryDataTreeSnapshot.getRootNode(); + final var outerList1InvalidPath = YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH) .nodeWithKey(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 3) // .build(); try { @@ -130,33 +129,33 @@ public class StoreTreeNodesTest extends AbstractTestModelTest { } @Test - public void findClosestOrFirstMatchTestNodeExists() { - final InMemoryDataTreeSnapshot inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, + void findClosestOrFirstMatchTestNodeExists() { + final var inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, TreeNode.of(createDocumentOne(), Version.initial()), rootOper); - final TreeNode rootNode = inMemoryDataTreeSnapshot.getRootNode(); - final Optional expectedNode = StoreTreeNodes.findNode(rootNode, TWO_TWO_PATH); + final var rootNode = inMemoryDataTreeSnapshot.getRootNode(); + final var expectedNode = StoreTreeNodes.findNode(rootNode, TWO_TWO_PATH); assertPresentAndType(expectedNode, TreeNode.class); - final Entry actualNode = StoreTreeNodes.findClosest(rootNode, TWO_TWO_PATH); + final var actualNode = StoreTreeNodes.findClosest(rootNode, TWO_TWO_PATH); assertTreeNodeEquals(expectedNode.orElseThrow(), actualNode.getValue()); } @Test - public void findClosestOrFirstMatchTestNodeDoesNotExist() { - final InMemoryDataTreeSnapshot inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, + void findClosestOrFirstMatchTestNodeDoesNotExist() { + final var inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(SCHEMA_CONTEXT, TreeNode.of(createDocumentOne(), Version.initial()), rootOper); - final TreeNode rootNode = inMemoryDataTreeSnapshot.getRootNode(); - final YangInstanceIdentifier outerListInnerListPath = YangInstanceIdentifier.builder(OUTER_LIST_2_PATH) + final var rootNode = inMemoryDataTreeSnapshot.getRootNode(); + final var outerListInnerListPath = YangInstanceIdentifier.builder(OUTER_LIST_2_PATH) .node(TestModel.INNER_LIST_QNAME) .build(); - final YangInstanceIdentifier twoTwoInvalidPath = YangInstanceIdentifier.builder(OUTER_LIST_2_PATH) + final var twoTwoInvalidPath = YangInstanceIdentifier.builder(OUTER_LIST_2_PATH) .node(TestModel.INNER_LIST_QNAME) .nodeWithKey(TestModel.INNER_LIST_QNAME, TestModel.NAME_QNAME, "three") .build(); - final Optional expectedNode = StoreTreeNodes.findNode(rootNode, outerListInnerListPath); + final var expectedNode = StoreTreeNodes.findNode(rootNode, outerListInnerListPath); assertPresentAndType(expectedNode, TreeNode.class); - final Entry actualNode = StoreTreeNodes.findClosest(rootNode, + final var actualNode = StoreTreeNodes.findClosest(rootNode, twoTwoInvalidPath); assertTreeNodeEquals(expectedNode.orElseThrow(), actualNode.getValue()); } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StructuralApplyModificationTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StructuralApplyModificationTest.java index 9f6d61bd88..88f110e746 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StructuralApplyModificationTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StructuralApplyModificationTest.java @@ -7,52 +7,47 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; -import java.util.Optional; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; -import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; -public final class StructuralApplyModificationTest extends AbstractTestModelTest { +final class StructuralApplyModificationTest extends AbstractTestModelTest { private DataTree inMemoryDataTree; - @Before - public void setUp() { + @BeforeEach + void setUp() { inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION); inMemoryDataTree.setEffectiveModelContext(SCHEMA_CONTEXT); } @Test - public void testMapNodeParentAutoCreateDelete() throws DataValidationFailedException { - final DataTreeModification addListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); + void testMapNodeParentAutoCreateDelete() throws DataValidationFailedException { + final var addListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); // Prepare root - final YangInstanceIdentifier.NodeIdentifier rootContainerId = getNId(TestModel.TEST_QNAME); + final var rootContainerId = getNId(TestModel.TEST_QNAME); addListEntryModification.write(YangInstanceIdentifier.of(rootContainerId), Builders.containerBuilder().withNodeIdentifier(rootContainerId).build()); - final NodeIdentifierWithPredicates outerListEntryId = NodeIdentifierWithPredicates.of( + final var outerListEntryId = NodeIdentifierWithPredicates.of( TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 1); // Write list entry (MapEntryNode) without creating list parent (MapNode) - final MapEntryNode outerListEntry = Builders.mapEntryBuilder().withNodeIdentifier(outerListEntryId).build(); - final YangInstanceIdentifier outerListParentPath = YangInstanceIdentifier.of(getNId(TestModel.TEST_QNAME), + final var outerListEntry = Builders.mapEntryBuilder().withNodeIdentifier(outerListEntryId).build(); + final var outerListParentPath = YangInstanceIdentifier.of(getNId(TestModel.TEST_QNAME), getNId(TestModel.OUTER_LIST_QNAME)); - final YangInstanceIdentifier outerListEntryPath = outerListParentPath.node(outerListEntryId); + final var outerListEntryPath = outerListParentPath.node(outerListEntryId); addListEntryModification.write(outerListEntryPath, outerListEntry); addListEntryModification.ready(); @@ -63,7 +58,7 @@ public final class StructuralApplyModificationTest extends AbstractTestModelTest assertNodeExistence(outerListParentPath, true); // Now delete - final DataTreeModification deleteListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); + final var deleteListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); deleteListEntryModification.delete(outerListEntryPath); deleteListEntryModification.ready(); inMemoryDataTree.validate(deleteListEntryModification); @@ -74,15 +69,15 @@ public final class StructuralApplyModificationTest extends AbstractTestModelTest } @Test - public void testMapNodeDirectEmptyWrite() { - final DataTreeModification addListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); + void testMapNodeDirectEmptyWrite() { + final var addListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); // Prepare root container - final YangInstanceIdentifier.NodeIdentifier rootContainerId = getNId(TestModel.TEST_QNAME); + final var rootContainerId = getNId(TestModel.TEST_QNAME); addListEntryModification.write(YangInstanceIdentifier.of(rootContainerId), Builders.containerBuilder().withNodeIdentifier(rootContainerId).build()); - final YangInstanceIdentifier outerListParentPath = YangInstanceIdentifier.of(getNId(TestModel.TEST_QNAME), + final var outerListParentPath = YangInstanceIdentifier.of(getNId(TestModel.TEST_QNAME), getNId(TestModel.OUTER_LIST_QNAME)); addListEntryModification.merge(outerListParentPath, ImmutableNodes.mapNode(TestModel.OUTER_LIST_QNAME)); @@ -91,11 +86,11 @@ public final class StructuralApplyModificationTest extends AbstractTestModelTest } @Test - public void testNonPresenceContainerDirectEmptyWrite() throws DataValidationFailedException { - final DataTreeModification addListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); + void testNonPresenceContainerDirectEmptyWrite() throws DataValidationFailedException { + final var addListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); - final YangInstanceIdentifier.NodeIdentifier rootContainerId = getNId(TestModel.NON_PRESENCE_QNAME); - final YangInstanceIdentifier path = YangInstanceIdentifier.of(rootContainerId); + final var rootContainerId = getNId(TestModel.NON_PRESENCE_QNAME); + final var path = YangInstanceIdentifier.of(rootContainerId); addListEntryModification.write(path, Builders.containerBuilder().withNodeIdentifier(rootContainerId).build()); addListEntryModification.ready(); @@ -107,10 +102,10 @@ public final class StructuralApplyModificationTest extends AbstractTestModelTest } @Test - public void testNestedStrucutralNodes() throws DataValidationFailedException { - final DataTreeModification addListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); + void testNestedStrucutralNodes() throws DataValidationFailedException { + final var addListEntryModification = inMemoryDataTree.takeSnapshot().newModification(); - final YangInstanceIdentifier path = TestModel.DEEP_CHOICE_PATH.node(TestModel.A_LIST_QNAME) + final var path = TestModel.DEEP_CHOICE_PATH.node(TestModel.A_LIST_QNAME) .node(getNId(TestModel.A_LIST_QNAME, TestModel.A_NAME_QNAME, "1")); addListEntryModification.write(path, @@ -129,8 +124,8 @@ public final class StructuralApplyModificationTest extends AbstractTestModelTest } private void assertNodeExistence(final YangInstanceIdentifier outerListParentPath, final boolean shouldBePresent) { - final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); - final Optional readNode = snapshotAfterCommits.readNode(outerListParentPath); + final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot(); + final var readNode = snapshotAfterCommits.readNode(outerListParentPath); assertEquals(readNode.isPresent(), shouldBePresent); } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/TestModel.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/TestModel.java index c8f0c7fd97..5bfbed2656 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/TestModel.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/TestModel.java @@ -12,7 +12,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public final class TestModel { +final class TestModel { public static final QName TEST_QNAME = QName.create( "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test", "2014-03-13", "test"); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/UniqueConstraintTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/UniqueConstraintTest.java index 22f12ac0a7..f8aeb59816 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/UniqueConstraintTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/UniqueConstraintTest.java @@ -7,16 +7,13 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.CoreMatchers.instanceOf; -import static org.hamcrest.CoreMatchers.startsWith; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; - -import java.util.List; -import org.junit.BeforeClass; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.ErrorSeverity; import org.opendaylight.yangtools.yang.common.ErrorTag; import org.opendaylight.yangtools.yang.common.ErrorType; @@ -24,13 +21,10 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.api.YangNetconfError; import org.opendaylight.yangtools.yang.data.api.YangNetconfErrorAware; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; -import org.opendaylight.yangtools.yang.data.api.schema.MapNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.api.TreeType; @@ -38,7 +32,7 @@ import org.opendaylight.yangtools.yang.data.tree.api.UniqueConstraintException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -public class UniqueConstraintTest { +class UniqueConstraintTest { private static final String NS = "foo"; private static final String REV = "2016-05-17"; private static final QName TASK_CONTAINER = QName.create(NS, REV, "task-container"); @@ -51,21 +45,21 @@ public class UniqueConstraintTest { private static EffectiveModelContext TEST_MODEL; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { TEST_MODEL = TestModel.createTestContext("/yt570.yang"); } @Test - public void switchEntriesTest() throws DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = initDataTree(TEST_MODEL, true); + void switchEntriesTest() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(TEST_MODEL, true); writeMapEntry(inMemoryDataTree, "1", "l1", "l2", "l3"); writeMapEntry(inMemoryDataTree, "2", "l2", "l3", "l4"); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); - final MapEntryNode mapEntry1 = createMapEntry("1", "l2", "l3", "l4"); - final MapEntryNode mapEntry2 = createMapEntry("2", "l1", "l2", "l3"); + final var mapEntry1 = createMapEntry("1", "l2", "l3", "l4"); + final var mapEntry2 = createMapEntry("2", "l1", "l2", "l3"); //switch values of map entries modificationTree.write( @@ -77,13 +71,13 @@ public class UniqueConstraintTest { modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } @Test - public void mapTest() throws DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = emptyDataTree(TEST_MODEL, true); + void mapTest() throws DataValidationFailedException { + final var inMemoryDataTree = emptyDataTree(TEST_MODEL, true); verifyException(assertThrows(UniqueValidationFailedException.class, @@ -103,8 +97,8 @@ public class UniqueConstraintTest { } @Test - public void mapEntryTest() throws DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = initDataTree(TEST_MODEL, true); + void mapEntryTest() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(TEST_MODEL, true); writeAndRemoveMapEntries(inMemoryDataTree, true); writeAndRemoveMapEntries(inMemoryDataTree, false); } @@ -151,10 +145,10 @@ public class UniqueConstraintTest { private static void verifyException(final Exception ex, final String expectedStart, final String... expectedLeaves) { verifyExceptionMessage(expectedStart, ex.getMessage(), expectedLeaves); - assertThat(ex, instanceOf(YangNetconfErrorAware.class)); - final List errors = ((YangNetconfErrorAware) ex).getNetconfErrors(); + assertInstanceOf(YangNetconfErrorAware.class, ex); + final var errors = ((YangNetconfErrorAware) ex).getNetconfErrors(); assertEquals(1, errors.size()); - final YangNetconfError error = errors.get(0); + final var error = errors.get(0); assertEquals(ErrorSeverity.ERROR, error.severity()); assertEquals(ErrorType.APPLICATION, error.type()); assertEquals(ErrorTag.OPERATION_FAILED, error.tag()); @@ -163,15 +157,15 @@ public class UniqueConstraintTest { private static void verifyExceptionMessage(final String expectedStart, final String message, final String... leafs) { - assertThat(message, startsWith(expectedStart)); - for (final String leaf : leafs) { - assertThat(message, containsString(leaf)); + assertTrue(message.startsWith(expectedStart)); + for (final var leaf : leafs) { + assertTrue(message.contains(leaf)); } } private static void writeMap(final InMemoryDataTree inMemoryDataTree, final boolean withUniqueViolation) throws DataValidationFailedException { - final MapNode taskNode = Builders + final var taskNode = Builders .mapBuilder() .withNodeIdentifier(new NodeIdentifier(TASK)) .withChild(createMapEntry("1", "l1", "l2", "l3")) @@ -180,18 +174,18 @@ public class UniqueConstraintTest { withUniqueViolation ? createMapEntry("3", "l1", "l2", "l10") : createMapEntry("3", "l3", "l4", "l5")).build(); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(TASK_CONTAINER).node(TASK), taskNode); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } private static void writeMapEntry(final InMemoryDataTree inMemoryDataTree, final Object taskIdValue, final Object myLeaf1Value, final Object myLeaf2Value, final Object myLeaf3Value) throws DataValidationFailedException { - final MapEntryNode taskEntryNode = Builders + final var taskEntryNode = Builders .mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(TASK, TASK_ID, taskIdValue)) .withChild(ImmutableNodes.leafNode(TASK_ID, taskIdValue)) @@ -201,29 +195,29 @@ public class UniqueConstraintTest { Builders.containerBuilder().withNodeIdentifier(new NodeIdentifier(MY_CONTAINER)) .withChild(ImmutableNodes.leafNode(MY_LEAF_3, myLeaf3Value)).build()).build(); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write( YangInstanceIdentifier.of(TASK_CONTAINER).node(TASK) .node(NodeIdentifierWithPredicates.of(TASK, TASK_ID, taskIdValue)), taskEntryNode); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } private static void removeMapEntry(final InMemoryDataTree inMemoryDataTree, final NodeIdentifierWithPredicates mapEntryKey) throws DataValidationFailedException { - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.delete(YangInstanceIdentifier.of(TASK_CONTAINER).node(TASK).node(mapEntryKey)); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); } private static MapEntryNode createMapEntry(final Object taskIdValue, final Object myLeaf1Value, - final Object myLeaf2Value, final Object myLeaf3Value) throws DataValidationFailedException { + final Object myLeaf2Value, final Object myLeaf3Value) { return Builders .mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(TASK, TASK_ID, taskIdValue)) @@ -240,8 +234,8 @@ public class UniqueConstraintTest { } @Test - public void disabledUniqueIndexTest() throws DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = initDataTree(TEST_MODEL, false); + void disabledUniqueIndexTest() throws DataValidationFailedException { + final var inMemoryDataTree = initDataTree(TEST_MODEL, false); writeMapEntry(inMemoryDataTree, "1", "l1", "l2", "l3"); writeMapEntry(inMemoryDataTree, "2", "l2", "l3", "l4"); @@ -259,24 +253,24 @@ public class UniqueConstraintTest { private static InMemoryDataTree initDataTree(final EffectiveModelContext schemaContext, final boolean uniqueIndex) throws DataValidationFailedException { - final InMemoryDataTree inMemoryDataTree = (InMemoryDataTree) new InMemoryDataTreeFactory().create( + final var inMemoryDataTree = (InMemoryDataTree) new InMemoryDataTreeFactory().create( new DataTreeConfiguration.Builder(TreeType.CONFIGURATION).setUniqueIndexes(uniqueIndex).build()); inMemoryDataTree.setEffectiveModelContext(schemaContext); - final MapNode taskNode = Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(TASK)).build(); - final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification(); + final var taskNode = Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(TASK)).build(); + final var modificationTree = inMemoryDataTree.takeSnapshot().newModification(); modificationTree.write(YangInstanceIdentifier.of(TASK_CONTAINER).node(TASK), taskNode); modificationTree.ready(); inMemoryDataTree.validate(modificationTree); - final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree); + final var prepare = inMemoryDataTree.prepare(modificationTree); inMemoryDataTree.commit(prepare); return inMemoryDataTree; } private static InMemoryDataTree emptyDataTree(final EffectiveModelContext schemaContext, final boolean uniqueIndex) { - final InMemoryDataTree inMemoryDataTree = (InMemoryDataTree) new InMemoryDataTreeFactory().create( + final var inMemoryDataTree = (InMemoryDataTree) new InMemoryDataTreeFactory().create( new DataTreeConfiguration.Builder(TreeType.CONFIGURATION).setUniqueIndexes(uniqueIndex).build()); inMemoryDataTree.setEffectiveModelContext(schemaContext); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT1104Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT1104Test.java index befcac6691..1c4bb214f9 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT1104Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT1104Test.java @@ -12,23 +12,22 @@ import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.anydataB import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.choiceBuilder; import javax.xml.transform.dom.DOMSource; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class YT1104Test { +class YT1104Test { private static final QName MODULE = QName.create("yt1104", "yt1104"); private static final NodeIdentifier FOO = new NodeIdentifier(QName.create(MODULE, "foo")); private static final NodeIdentifier BAR = new NodeIdentifier(QName.create(MODULE, "bar")); @@ -38,8 +37,8 @@ public class YT1104Test { private DataTree dataTree; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { SCHEMA_CONTEXT = YangParserTestUtils.parseYang(""" module yt1104 { yang-version 1.1; @@ -53,28 +52,28 @@ public class YT1104Test { }"""); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { SCHEMA_CONTEXT = null; } - @Before - public void init() { + @BeforeEach + void init() { dataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); } @Test - public void testAnydata() throws DataValidationFailedException { + void testAnydata() throws DataValidationFailedException { writeChoice(anydataBuilder(String.class).withNodeIdentifier(BAR).withValue("anydata").build()); } @Test - public void testAnyxml() throws DataValidationFailedException { + void testAnyxml() throws DataValidationFailedException { writeChoice(anyXmlBuilder().withNodeIdentifier(BAZ).withValue(new DOMSource()).build()); } private void writeChoice(final DataContainerChild child) throws DataValidationFailedException { - final DataTreeModification mod = dataTree.takeSnapshot().newModification(); + final var mod = dataTree.takeSnapshot().newModification(); mod.write(YangInstanceIdentifier.of(FOO), choiceBuilder().withNodeIdentifier(FOO).withChild(child).build()); mod.ready(); dataTree.validate(mod); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT1276Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT1276Test.java index abcd8f665e..f5f8bcd0cd 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT1276Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT1276Test.java @@ -7,12 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.function.Consumer; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -26,7 +26,7 @@ import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class YT1276Test { +class YT1276Test { private static final QName FOO = QName.create("foo", "foo"); private static final QName BAR = QName.create(FOO, "bar"); private static final QName BAZ = QName.create(FOO, "baz"); @@ -46,13 +46,13 @@ public class YT1276Test { private final DataTree tree = new InMemoryDataTreeFactory() .create(DataTreeConfiguration.DEFAULT_CONFIGURATION, MODEL); - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { MODEL = YangParserTestUtils.parseYangResource("/yt1276.yang"); } @Test - public void testFooWithBar() throws DataValidationFailedException { + void testFooWithBar() throws DataValidationFailedException { applyOperation(mod -> { mod.write(YangInstanceIdentifier.of(FOO), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(FOO)) @@ -63,7 +63,7 @@ public class YT1276Test { @Test @Deprecated - public void testFooWithBarLegacy() throws DataValidationFailedException { + void testFooWithBarLegacy() throws DataValidationFailedException { applyOperation(mod -> { mod.write(YangInstanceIdentifier.of(FOO), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(FOO)) @@ -73,7 +73,7 @@ public class YT1276Test { } @Test - public void testFooWithoutBar() { + void testFooWithoutBar() { final IllegalArgumentException ex = assertFailsReady(mod -> { mod.write(YangInstanceIdentifier.of(FOO), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(FOO)) @@ -83,7 +83,7 @@ public class YT1276Test { } @Test - public void testBarWithXyzzyWithSubtree() throws DataValidationFailedException { + void testBarWithXyzzyWithSubtree() throws DataValidationFailedException { applyOperation(mod -> { mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(BAR)) @@ -104,7 +104,7 @@ public class YT1276Test { } @Test - public void testBazWithAugmentedCaseWithMandatoryLeaf() throws DataValidationFailedException { + void testBazWithAugmentedCaseWithMandatoryLeaf() throws DataValidationFailedException { applyOperation(mod -> { mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(BAR)) @@ -117,21 +117,23 @@ public class YT1276Test { }); } - @Test(expected = IllegalArgumentException.class) - public void testBazWithAugmentedCaseWithoutMandatoryLeaf() throws DataValidationFailedException { - applyOperation(mod -> { - mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() - .withNodeIdentifier(new NodeIdentifier(BAR)) - .withChild(Builders.choiceBuilder() - .withNodeIdentifier(new NodeIdentifier(BAZ)) - .withChild(ImmutableNodes.leafNode(BAZ_AUG_CASE_NON_MANDAT_LEAF, "augmentedCaseNonMandatory")) - .build()) - .build()); + @Test + void testBazWithAugmentedCaseWithoutMandatoryLeaf() throws DataValidationFailedException { + assertThrows(IllegalArgumentException.class, () -> { + applyOperation(mod -> { + mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() + .withNodeIdentifier(new NodeIdentifier(BAR)) + .withChild(Builders.choiceBuilder() + .withNodeIdentifier(new NodeIdentifier(BAZ)) + .withChild(ImmutableNodes.leafNode(BAZ_AUG_CASE_NON_MANDAT_LEAF, "augmentedCaseNonMandatory")) + .build()) + .build()); + }); }); } @Test - public void testWithAugmentedNestedBazWithMandatoryLeaf() throws DataValidationFailedException { + void testWithAugmentedNestedBazWithMandatoryLeaf() throws DataValidationFailedException { applyOperation(mod -> { mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(BAR)) @@ -147,25 +149,27 @@ public class YT1276Test { }); } - @Test(expected = IllegalArgumentException.class) - public void testWithAugmentedNestedBazWithhoutMandatoryLeaf() throws DataValidationFailedException { - applyOperation(mod -> { - mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() - .withNodeIdentifier(new NodeIdentifier(BAR)) - .withChild(Builders.choiceBuilder() - .withNodeIdentifier(new NodeIdentifier(BAZ)) + @Test + void testWithAugmentedNestedBazWithhoutMandatoryLeaf() throws DataValidationFailedException { + assertThrows(IllegalArgumentException.class, () -> { + applyOperation(mod -> { + mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() + .withNodeIdentifier(new NodeIdentifier(BAR)) .withChild(Builders.choiceBuilder() - .withNodeIdentifier(new NodeIdentifier(NESTED_BAZ_CHOICE)) - .withChild(ImmutableNodes.leafNode(NESTED_BAZ_XYZ_CASE_NON_MANDATORY, "nestedNonMandatory")) + .withNodeIdentifier(new NodeIdentifier(BAZ)) + .withChild(Builders.choiceBuilder() + .withNodeIdentifier(new NodeIdentifier(NESTED_BAZ_CHOICE)) + .withChild(ImmutableNodes.leafNode(NESTED_BAZ_XYZ_CASE_NON_MANDATORY, "nestedNonMandatory")) + .build()) .build()) - .build()) - .build()); + .build()); + }); }); } @Test @Deprecated - public void testBarWithXyzzyLegacy() throws DataValidationFailedException { + void testBarWithXyzzyLegacy() throws DataValidationFailedException { applyOperation(mod -> { mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(BAR)) @@ -186,8 +190,8 @@ public class YT1276Test { } @Test - public void testBarWithoutXyzzyLeaf() { - final IllegalArgumentException ex = assertFailsReady(mod -> { + void testBarWithoutXyzzyLeaf() { + final var ex = assertFailsReady(mod -> { mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(BAR)) .withChild(Builders.choiceBuilder() @@ -209,8 +213,8 @@ public class YT1276Test { } @Test - public void testBarWithoutXyzzyAugment() { - final IllegalArgumentException ex = assertFailsReady(mod -> { + void testBarWithoutXyzzyAugment() { + final var ex = assertFailsReady(mod -> { mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(BAR)) .withChild(Builders.choiceBuilder() @@ -229,7 +233,7 @@ public class YT1276Test { private void applyOperation(final Consumer operation) throws DataValidationFailedException { - final DataTreeModification mod = tree.takeSnapshot().newModification(); + final var mod = tree.takeSnapshot().newModification(); operation.accept(mod); mod.ready(); tree.commit(tree.prepare(mod)); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT776Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT776Test.java index 62a9550505..781728f66a 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT776Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/YT776Test.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.choiceBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.containerBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.leafBuilder; @@ -19,10 +19,10 @@ import static org.opendaylight.yangtools.yang.data.tree.impl.ListConstraintsVali import static org.opendaylight.yangtools.yang.data.tree.impl.ListConstraintsValidation.assertTooManyElements; import com.google.common.collect.ImmutableMap; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -37,7 +37,7 @@ import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class YT776Test { +class YT776Test { private static final QName MODULE = QName.create("yt776", "yt776"); private static final NodeIdentifier BOX = new NodeIdentifier(QName.create(MODULE, "box")); private static final QName OBJECT = QName.create(MODULE, "object"); @@ -66,8 +66,8 @@ public class YT776Test { private DataTree dataTree; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { SCHEMA_CONTEXT = YangParserTestUtils.parseYang(""" module yt776 { namespace yt776; @@ -113,19 +113,19 @@ public class YT776Test { }"""); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { SCHEMA_CONTEXT = null; } - @Before - public void init() { + @BeforeEach + void init() { dataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, SCHEMA_CONTEXT); } @Test - public void testNoAttributes() { - final DataTreeModification mod = dataTree.takeSnapshot().newModification(); + void testNoAttributes() { + final var mod = dataTree.takeSnapshot().newModification(); mod.write(YangInstanceIdentifier.of(BOX), containerBuilder().withNodeIdentifier(BOX) .withChild(mapBuilder().withNodeIdentifier(OBJECT_LIST) .addChild(mapEntryBuilder().withNodeIdentifier(OBJECT_ITEM) @@ -142,8 +142,8 @@ public class YT776Test { } @Test - public void testEmptyAttributes() throws DataValidationFailedException { - final DataTreeModification mod = write(containerBuilder().withNodeIdentifier(BOX) + void testEmptyAttributes() throws DataValidationFailedException { + final var mod = write(containerBuilder().withNodeIdentifier(BOX) .withChild(mapBuilder().withNodeIdentifier(OBJECT_LIST) .addChild(mapEntryBuilder().withNodeIdentifier(OBJECT_ITEM) .withChild(OBJECT_ID_LEAF) @@ -152,13 +152,13 @@ public class YT776Test { .build()) .build()); - final IllegalArgumentException ex = assertThrows(MinMaxElementsValidationFailedException.class, mod::ready); + final var ex = assertThrows(MinMaxElementsValidationFailedException.class, mod::ready); assertEquals("(yt776)attributes does not have enough elements (0), needs at least 1", ex.getMessage()); assertTooFewElements(ex); } @Test - public void testOneAttribute() throws DataValidationFailedException { + void testOneAttribute() throws DataValidationFailedException { writeAndCommit(containerBuilder().withNodeIdentifier(BOX) .withChild(mapBuilder().withNodeIdentifier(OBJECT_LIST) .addChild(mapEntryBuilder().withNodeIdentifier(OBJECT_ITEM) @@ -172,7 +172,7 @@ public class YT776Test { } @Test - public void testTwoAttributes() throws DataValidationFailedException { + void testTwoAttributes() throws DataValidationFailedException { writeAndCommit(containerBuilder().withNodeIdentifier(BOX) .withChild(mapBuilder().withNodeIdentifier(OBJECT_LIST) .addChild(mapEntryBuilder().withNodeIdentifier(OBJECT_ITEM) @@ -187,8 +187,8 @@ public class YT776Test { } @Test - public void testThreeAttributes() throws DataValidationFailedException { - final DataTreeModification mod = write(containerBuilder().withNodeIdentifier(BOX) + void testThreeAttributes() throws DataValidationFailedException { + final var mod = write(containerBuilder().withNodeIdentifier(BOX) .withChild(mapBuilder().withNodeIdentifier(OBJECT_LIST) .addChild(mapEntryBuilder().withNodeIdentifier(OBJECT_ITEM) .withChild(OBJECT_ID_LEAF) @@ -201,14 +201,14 @@ public class YT776Test { .build()) .build()); - final IllegalArgumentException ex = assertThrows(MinMaxElementsValidationFailedException.class, mod::ready); + final var ex = assertThrows(MinMaxElementsValidationFailedException.class, mod::ready); assertEquals("(yt776)attributes has too many elements (3), can have at most 2", ex.getMessage()); assertTooManyElements(ex); } @Test - public void testEmptyAndMergeOne() throws DataValidationFailedException { - final DataTreeModification mod = dataTree.takeSnapshot().newModification(); + void testEmptyAndMergeOne() throws DataValidationFailedException { + final var mod = dataTree.takeSnapshot().newModification(); mod.write(YangInstanceIdentifier.of(BOX), containerBuilder().withNodeIdentifier(BOX) .withChild(mapBuilder().withNodeIdentifier(OBJECT_LIST) .addChild(mapEntryBuilder().withNodeIdentifier(OBJECT_ITEM) @@ -231,8 +231,8 @@ public class YT776Test { } @Test - public void testEmptyAndMergeOneWithListTouched() throws DataValidationFailedException { - final DataTreeModification mod = dataTree.takeSnapshot().newModification(); + void testEmptyAndMergeOneWithListTouched() throws DataValidationFailedException { + final var mod = dataTree.takeSnapshot().newModification(); mod.write(YangInstanceIdentifier.of(BOX), containerBuilder().withNodeIdentifier(BOX) .withChild(mapBuilder().withNodeIdentifier(OBJECT_LIST) .addChild(mapEntryBuilder().withNodeIdentifier(OBJECT_ITEM) @@ -257,8 +257,8 @@ public class YT776Test { } @Test - public void testDisappearInChoice() throws DataValidationFailedException { - DataTreeModification mod = dataTree.takeSnapshot().newModification(); + void testDisappearInChoice() throws DataValidationFailedException { + var mod = dataTree.takeSnapshot().newModification(); // Initialize choice with list mod.write(YangInstanceIdentifier.of(BOX), containerBuilder() .withNodeIdentifier(BOX) @@ -283,13 +283,13 @@ public class YT776Test { } private DataTreeModification write(final ContainerNode data) throws DataValidationFailedException { - final DataTreeModification mod = dataTree.takeSnapshot().newModification(); + final var mod = dataTree.takeSnapshot().newModification(); mod.write(YangInstanceIdentifier.of(BOX), data); return mod; } private void writeAndCommit(final ContainerNode data) throws DataValidationFailedException { - final DataTreeModification mod = dataTree.takeSnapshot().newModification(); + final var mod = dataTree.takeSnapshot().newModification(); mod.write(YangInstanceIdentifier.of(BOX), data); commit(mod); } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/node/TreeNodeFactoryTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/node/TreeNodeFactoryTest.java index e7c75c364a..22dcc36098 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/node/TreeNodeFactoryTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/node/TreeNodeFactoryTest.java @@ -7,17 +7,17 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl.node; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertSame; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.UserMapNode; -public class TreeNodeFactoryTest { +class TreeNodeFactoryTest { private static void checkTreeNode(final TreeNode node, final NormalizedNode data, final Version version) { assertSame(data, node.getData()); @@ -26,32 +26,32 @@ public class TreeNodeFactoryTest { } @Test - public void testNormalizedNodeContainer() { - final ContainerNode data = Mockito.mock(ContainerNode.class); - final Version version = Version.initial(); - final TreeNode node = TreeNode.of(data, version); + void testNormalizedNodeContainer() { + final var data = Mockito.mock(ContainerNode.class); + final var version = Version.initial(); + final var node = TreeNode.of(data, version); - assertTrue(node instanceof SimpleContainerNode); + assertInstanceOf(SimpleContainerNode.class, node); checkTreeNode(node, data, version); } @Test - public void testOrderedNodeContainer() { - final UserMapNode data = Mockito.mock(UserMapNode.class); - final Version version = Version.initial(); - final TreeNode node = TreeNode.of(data, version); + void testOrderedNodeContainer() { + final var data = Mockito.mock(UserMapNode.class); + final var version = Version.initial(); + final var node = TreeNode.of(data, version); - assertTrue(node instanceof SimpleContainerNode); + assertInstanceOf(SimpleContainerNode.class, node); checkTreeNode(node, data, version); } @Test - public void testLeaf() { - final LeafNode data = Mockito.mock(LeafNode.class); - final Version version = Version.initial(); - final TreeNode node = TreeNode.of(data, version); + void testLeaf() { + final var data = Mockito.mock(LeafNode.class); + final var version = Version.initial(); + final var node = TreeNode.of(data, version); - assertTrue(node instanceof ValueNode); + assertInstanceOf(ValueNode.class, node); checkTreeNode(node, data, version); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/node/VersionTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/node/VersionTest.java index a67f7fe295..7d71baa063 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/node/VersionTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/node/VersionTest.java @@ -7,29 +7,29 @@ */ package org.opendaylight.yangtools.yang.data.tree.impl.node; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotEquals; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class VersionTest { +class VersionTest { @Test - public void testInitial() { - final Version v1 = Version.initial(); - final Version v2 = Version.initial(); + void testInitial() { + final var v1 = Version.initial(); + final var v2 = Version.initial(); - assertFalse(v1.equals(v2)); - assertFalse(v2.equals(v1)); + assertNotEquals(v1, v2); + assertNotEquals(v2, v1); } @Test - public void testNext() { - final Version v1 = Version.initial(); - final Version v2 = v1.next(); - final Version v3 = v2.next(); - final Version v4 = v1.next(); + void testNext() { + final var v1 = Version.initial(); + final var v2 = v1.next(); + final var v3 = v2.next(); + final var v4 = v1.next(); - assertFalse(v3.equals(v4)); - assertFalse(v4.equals(v3)); + assertNotEquals(v3, v4); + assertNotEquals(v4, v3); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/Bug7844Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/Bug7844Test.java index c1b3473d41..d2a7c04228 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/Bug7844Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/Bug7844Test.java @@ -7,28 +7,26 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import com.google.common.collect.ImmutableList; -import java.util.Map; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.XMLNamespace; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class Bug7844Test { +class Bug7844Test { private static final String FOO_NS = "foo"; private static final String BAR_NS = "bar"; private static final String BAZ_NS = "baz"; @Test - public void test() { - final EffectiveModelContext context = YangParserTestUtils.parseYang(""" + void test() { + final var context = YangParserTestUtils.parseYang(""" module bar { namespace bar; prefix bar-mod; @@ -117,17 +115,17 @@ public class Bug7844Test { }"""); assertNotNull(context); - final LeafRefContext leafRefContext = LeafRefContext.create(context); + final var leafRefContext = LeafRefContext.create(context); assertNotNull(leafRefContext); - final Map referencingChilds = leafRefContext.getReferencingChilds(); + final var referencingChilds = leafRefContext.getReferencingChilds(); assertEquals(7, referencingChilds.size()); - final QNameModule bazQNameModule = QNameModule.create(XMLNamespace.of(BAZ_NS)); - final LeafRefPath expectedPathToBazTarget = LeafRefPath.create(true, + final var bazQNameModule = QNameModule.create(XMLNamespace.of(BAZ_NS)); + final var expectedPathToBazTarget = LeafRefPath.create(true, new QNameWithPredicateImpl(bazQNameModule, "root", ImmutableList.of()), new QNameWithPredicateImpl(bazQNameModule, "target", ImmutableList.of())); - final LeafRefContext myLeafCtx = referencingChilds.get(foo("my-leaf")); + final var myLeafCtx = referencingChilds.get(foo("my-leaf")); assertLeafRef(myLeafCtx, expectedPathToBazTarget); assertLeafRef(referencingChilds.get(foo("my-leaf-2")), expectedPathToBazTarget); assertLeafRef(referencingChilds.get(foo("bar-base-leafref")), expectedPathToBazTarget); @@ -135,27 +133,27 @@ public class Bug7844Test { assertLeafRef(referencingChilds.get(bar("my-leafref-in-bar")), expectedPathToBazTarget); assertLeafRef(referencingChilds.get(bar("my-leafref-in-bar-2")), expectedPathToBazTarget); - final QNameModule barQNameModule = QNameModule.create(XMLNamespace.of(BAR_NS)); - final LeafRefPath expectedPathToBarTarget = LeafRefPath.create(true, + final var barQNameModule = QNameModule.create(XMLNamespace.of(BAR_NS)); + final var expectedPathToBarTarget = LeafRefPath.create(true, new QNameWithPredicateImpl(barQNameModule, "bar-target", ImmutableList.of())); assertLeafRef(referencingChilds.get(foo("direct-leafref")), expectedPathToBarTarget); - final Map referencedByChilds = leafRefContext.getReferencedByChilds(); + final var referencedByChilds = leafRefContext.getReferencedByChilds(); assertEquals(2, referencedByChilds.size()); - final LeafRefContext rootCtx = referencedByChilds.get(baz("root")); + final var rootCtx = referencedByChilds.get(baz("root")); assertEquals(1, rootCtx.getReferencedByChilds().size()); assertTrue(rootCtx.getReferencingChilds().isEmpty()); assertFalse(rootCtx.isReferencing()); assertFalse(rootCtx.isReferenced()); - final LeafRefContext targetCtx = rootCtx.getReferencedChildByName(baz("target")); + final var targetCtx = rootCtx.getReferencedChildByName(baz("target")); assertTrue(targetCtx.getReferencedByChilds().isEmpty()); assertTrue(targetCtx.getReferencingChilds().isEmpty()); assertTrue(targetCtx.isReferenced()); assertFalse(targetCtx.isReferencing()); - final Map allReferencedByLeafRefCtxs = targetCtx.getAllReferencedByLeafRefCtxs(); + final var allReferencedByLeafRefCtxs = targetCtx.getAllReferencedByLeafRefCtxs(); assertEquals(6, allReferencedByLeafRefCtxs.size()); assertTrue(myLeafCtx == targetCtx.getReferencedByLeafRefCtxByName(foo("my-leaf"))); } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/Bug8713Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/Bug8713Test.java index 5a09cf6d3b..f6b053b7f8 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/Bug8713Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/Bug8713Test.java @@ -7,29 +7,25 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; -import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class Bug8713Test { +class Bug8713Test { private static final String FOO_NS = "foo"; private static final String BAR_NS = "bar"; private static final String REV = "2017-09-06"; @Test - public void dataTreeCanditateValidationTest() throws Exception { - final EffectiveModelContext context = YangParserTestUtils.parseYang(""" + void dataTreeCanditateValidationTest() throws Exception { + final var context = YangParserTestUtils.parseYang(""" module bar { namespace bar; prefix bar; @@ -56,17 +52,17 @@ public class Bug8713Test { container root { } }"""); - final LeafRefContext rootLeafRefContext = LeafRefContext.create(context); - final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create( + final var rootLeafRefContext = LeafRefContext.create(context); + final var inMemoryDataTree = new InMemoryDataTreeFactory().create( DataTreeConfiguration.DEFAULT_OPERATIONAL, context); - final ContainerNode root = createRootContainer(); - final YangInstanceIdentifier rootPath = YangInstanceIdentifier.of(foo("root")); - final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var root = createRootContainer(); + final var rootPath = YangInstanceIdentifier.of(foo("root")); + final var writeModification = inMemoryDataTree.takeSnapshot().newModification(); writeModification.write(rootPath, root); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); + final var writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); LeafRefValidation.validate(writeContributorsCandidate, rootLeafRefContext); inMemoryDataTree.commit(writeContributorsCandidate); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest.java index 79f5eb6f0f..dc295619f8 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest.java @@ -7,15 +7,14 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.HashMap; -import java.util.Map; import org.eclipse.jdt.annotation.NonNull; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -24,7 +23,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; -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.LeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; @@ -32,9 +30,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; @@ -87,11 +83,11 @@ public class DataTreeCandidateValidatorTest { private static final Logger LOG = LoggerFactory.getLogger(DataTreeCandidateValidatorTest.class); private static final String NEW_LINE = System.getProperty("line.separator"); - @BeforeClass - public static void init() throws DataValidationFailedException { + @BeforeAll + static void init() throws DataValidationFailedException { context = YangParserTestUtils.parseYangResourceDirectory("/leafref-validation"); - for (final Module module : context.getModules()) { + for (final var module : context.getModules()) { if (module.getName().equals("leafref-validation")) { valModule = module; } @@ -136,21 +132,21 @@ public class DataTreeCandidateValidatorTest { inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, context); - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); - final ContainerNode odlProjectContainer = createOdlContainer(); + final var odlProjectContainer = createOdlContainer(); - final YangInstanceIdentifier path = YangInstanceIdentifier.of(odl); + final var path = YangInstanceIdentifier.of(odl); initialDataTreeModification.write(path, odlProjectContainer); initialDataTreeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = inMemoryDataTree + final var writeContributorsCandidate = inMemoryDataTree .prepare(initialDataTreeModification); inMemoryDataTree.commit(writeContributorsCandidate); } - @AfterClass - public static void cleanup() { + @AfterAll + static void cleanup() { inMemoryDataTree = null; rootLeafRefContext = null; valModule = null; @@ -158,7 +154,7 @@ public class DataTreeCandidateValidatorTest { } @Test - public void dataTreeCanditateValidationTest() throws DataValidationFailedException { + void dataTreeCanditateValidationTest() throws DataValidationFailedException { write(); write2(); @@ -174,14 +170,14 @@ public class DataTreeCandidateValidatorTest { private static void writeContributors() throws DataValidationFailedException { - final ContainerNode contributorContainer = createBasicContributorContainer(); + final var contributorContainer = createBasicContributorContainer(); - final YangInstanceIdentifier contributorPath = YangInstanceIdentifier.of(odlContributor); - final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var contributorPath = YangInstanceIdentifier.of(odlContributor); + final var writeModification = inMemoryDataTree.takeSnapshot().newModification(); writeModification.write(contributorPath, contributorContainer); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = inMemoryDataTree + final var writeContributorsCandidate = inMemoryDataTree .prepare(writeModification); LOG.debug("*************************"); @@ -189,7 +185,7 @@ public class DataTreeCandidateValidatorTest { LOG.debug("*************************"); LOG.debug(inMemoryDataTree.toString()); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(writeContributorsCandidate, rootLeafRefContext)); assertEquals(3, ex.getValidationsErrorsCount()); @@ -202,27 +198,27 @@ public class DataTreeCandidateValidatorTest { } private static void writeIntoMapEntry() throws DataValidationFailedException { - final Map keys = new HashMap<>(); + final var keys = new HashMap(); keys.put(name, "New Project"); - final NodeIdentifierWithPredicates mapEntryPath = NodeIdentifierWithPredicates.of(project, keys); + final var mapEntryPath = NodeIdentifierWithPredicates.of(project, keys); - final YangInstanceIdentifier leaderPath = YangInstanceIdentifier.of(odl).node(project).node(mapEntryPath) + final var leaderPath = YangInstanceIdentifier.of(odl).node(project).node(mapEntryPath) .node(lead); - final LeafNode leader = ImmutableNodes.leafNode(lead, "Updated leader"); + final var leader = ImmutableNodes.leafNode(lead, "Updated leader"); - final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var writeModification = inMemoryDataTree.takeSnapshot().newModification(); writeModification.write(leaderPath, leader); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); + final var writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); LOG.debug("*************************"); LOG.debug("Before write into map entry (update of leader name): "); LOG.debug("*************************"); LOG.debug(inMemoryDataTree.toString()); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(writeContributorsCandidate, rootLeafRefContext)); assertEquals(1, ex.getValidationsErrorsCount()); @@ -235,24 +231,24 @@ public class DataTreeCandidateValidatorTest { } private static void writeMapEntry() throws DataValidationFailedException { - final NodeIdentifierWithPredicates mapEntryPath = NodeIdentifierWithPredicates.of(project, name, "New Project"); + final var mapEntryPath = NodeIdentifierWithPredicates.of(project, name, "New Project"); - final MapEntryNode newProjectMapEntry = createProjectListEntry( + final var newProjectMapEntry = createProjectListEntry( "New Project", "New Project description ...", "Leader of New Project", "Owner of New Project"); - final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var writeModification = inMemoryDataTree.takeSnapshot().newModification(); writeModification.write(YangInstanceIdentifier.of(odl).node(project).node(mapEntryPath), newProjectMapEntry); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); + final var writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); LOG.debug("*************************"); LOG.debug("Before map entry write: "); LOG.debug("*************************"); LOG.debug(inMemoryDataTree.toString()); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(writeContributorsCandidate, rootLeafRefContext)); assertEquals(2, ex.getValidationsErrorsCount()); @@ -265,11 +261,11 @@ public class DataTreeCandidateValidatorTest { } private static void write() throws DataValidationFailedException { - final ContainerNode contributorContainer = createContributorContainer( + final var contributorContainer = createContributorContainer( (ContainerSchemaNode) valModule.getDataChildByName(odlContributor)); - final YangInstanceIdentifier contributorPath = YangInstanceIdentifier.of(odlContributor); - final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var contributorPath = YangInstanceIdentifier.of(odlContributor); + final var writeModification = inMemoryDataTree.takeSnapshot().newModification(); writeModification.write(contributorPath, contributorContainer); writeModification.write(YangInstanceIdentifier.of(l1), @@ -278,14 +274,14 @@ public class DataTreeCandidateValidatorTest { ImmutableNodes.leafNode(l2, "Leafref target l2 under the root")); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); + final var writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); LOG.debug("*************************"); LOG.debug("Before write: "); LOG.debug("*************************"); LOG.debug(inMemoryDataTree.toString()); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(writeContributorsCandidate, rootLeafRefContext)); assertEquals(12, ex.getValidationsErrorsCount()); @@ -298,7 +294,7 @@ public class DataTreeCandidateValidatorTest { } private static void write2() throws DataValidationFailedException { - final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var writeModification = inMemoryDataTree.takeSnapshot().newModification(); writeModification.write(YangInstanceIdentifier.of(odl).node(con1), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(con1)) .addChild(ImmutableNodes.leafNode(l1, "l1 value")) @@ -308,14 +304,14 @@ public class DataTreeCandidateValidatorTest { writeModification.write(YangInstanceIdentifier.of(odl).node(leafrefLeafList), createLeafRefLeafListNode()); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); + final var writeContributorsCandidate = inMemoryDataTree.prepare(writeModification); LOG.debug("*************************"); LOG.debug("Before write2: "); LOG.debug("*************************"); LOG.debug(inMemoryDataTree.toString()); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(writeContributorsCandidate, rootLeafRefContext)); assertEquals(6, ex.getValidationsErrorsCount()); @@ -397,11 +393,11 @@ public class DataTreeCandidateValidatorTest { } private static void delete() throws DataValidationFailedException { - final DataTreeModification delete = inMemoryDataTree.takeSnapshot().newModification(); + final var delete = inMemoryDataTree.takeSnapshot().newModification(); delete.delete(YangInstanceIdentifier.of(odlContributor)); delete.ready(); - final DataTreeCandidate deleteContributorsCanditate = inMemoryDataTree.prepare(delete); + final var deleteContributorsCanditate = inMemoryDataTree.prepare(delete); LOG.debug("*************************"); LOG.debug("Before delete: "); @@ -409,7 +405,7 @@ public class DataTreeCandidateValidatorTest { LOG.debug(inMemoryDataTree.toString()); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(deleteContributorsCanditate, rootLeafRefContext)); assertEquals(6, ex.getValidationsErrorsCount()); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest2.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest2.java index 346c2f869a..a0f1b8f33b 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest2.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest2.java @@ -7,13 +7,13 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.Map; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -23,9 +23,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; @@ -61,11 +59,11 @@ public class DataTreeCandidateValidatorTest2 { private static final Logger LOG = LoggerFactory.getLogger(DataTreeCandidateValidatorTest2.class); - @BeforeClass - public static void init() throws DataValidationFailedException { + @BeforeAll + static void init() throws DataValidationFailedException { context = YangParserTestUtils.parseYangResourceDirectory("/leafref-validation"); - for (final Module module : context.getModules()) { + for (final var module : context.getModules()) { if (module.getName().equals("leafref-validation2")) { mainModule = module; } @@ -92,7 +90,7 @@ public class DataTreeCandidateValidatorTest2 { desc = QName.create(rootModuleQname, "desc"); inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, context); - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(YangInstanceIdentifier.of(chips), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(chips)) .addChild(Builders.mapBuilder() @@ -113,14 +111,14 @@ public class DataTreeCandidateValidatorTest2 { .build()); initialDataTreeModification.ready(); - final DataTreeCandidate writeChipsCandidate = inMemoryDataTree.prepare(initialDataTreeModification); + final var writeChipsCandidate = inMemoryDataTree.prepare(initialDataTreeModification); inMemoryDataTree.commit(writeChipsCandidate); LOG.debug("{}", inMemoryDataTree); } - @AfterClass - public static void cleanup() { + @AfterAll + static void cleanup() { inMemoryDataTree = null; rootLeafRefContext = null; mainModule = null; @@ -128,12 +126,12 @@ public class DataTreeCandidateValidatorTest2 { } @Test - public void dataTreeCanditateValidationTest2() throws DataValidationFailedException { + void dataTreeCanditateValidationTest2() throws DataValidationFailedException { writeDevices(); } private static void writeDevices() throws DataValidationFailedException { - final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var writeModification = inMemoryDataTree.takeSnapshot().newModification(); writeModification.write(YangInstanceIdentifier.of(devices), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(devices)) .addChild(Builders.mapBuilder() @@ -147,14 +145,14 @@ public class DataTreeCandidateValidatorTest2 { .build()); writeModification.ready(); - final DataTreeCandidate writeDevicesCandidate = inMemoryDataTree.prepare(writeModification); + final var writeDevicesCandidate = inMemoryDataTree.prepare(writeModification); LOG.debug("*************************"); LOG.debug("Before writeDevices: "); LOG.debug("*************************"); LOG.debug("{}", inMemoryDataTree); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(writeDevicesCandidate, rootLeafRefContext)); assertEquals(4, ex.getValidationsErrorsCount()); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest3.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest3.java index bff26f5f78..de2be332f6 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest3.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest3.java @@ -7,26 +7,23 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.Map; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; @@ -67,11 +64,11 @@ public class DataTreeCandidateValidatorTest3 { private static final Logger LOG = LoggerFactory.getLogger(DataTreeCandidateValidatorTest3.class); private static final String NEW_LINE = System.getProperty("line.separator"); - @BeforeClass - public static void init() throws DataValidationFailedException { + @BeforeAll + static void init() throws DataValidationFailedException { context = YangParserTestUtils.parseYangResourceDirectory("/leafref-validation"); - for (final Module module : context.getModules()) { + for (final var module : context.getModules()) { if (module.getName().equals("leafref-validation3")) { mainModule = module; } @@ -104,7 +101,7 @@ public class DataTreeCandidateValidatorTest3 { inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, context); - final DataTreeModification initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var initialDataTreeModification = inMemoryDataTree.takeSnapshot().newModification(); initialDataTreeModification.write(YangInstanceIdentifier.of(chips), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(chips)) @@ -126,15 +123,15 @@ public class DataTreeCandidateValidatorTest3 { .build()); initialDataTreeModification.ready(); - final DataTreeCandidate writeChipsCandidate = inMemoryDataTree.prepare(initialDataTreeModification); + final var writeChipsCandidate = inMemoryDataTree.prepare(initialDataTreeModification); inMemoryDataTree.commit(writeChipsCandidate); LOG.debug("{}", inMemoryDataTree); } - @AfterClass - public static void cleanup() { + @AfterAll + static void cleanup() { inMemoryDataTree = null; rootLeafRefContext = null; mainModule = null; @@ -142,13 +139,13 @@ public class DataTreeCandidateValidatorTest3 { } @Test - public void dataTreeCanditateValidationTest2() throws DataValidationFailedException { + void dataTreeCanditateValidationTest2() throws DataValidationFailedException { writeDevices(); mergeDevices(); } private static void writeDevices() throws DataValidationFailedException { - final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var writeModification = inMemoryDataTree.takeSnapshot().newModification(); writeModification.write(YangInstanceIdentifier.of(devices), Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(devices)) .addChild(Builders.mapBuilder() @@ -164,14 +161,14 @@ public class DataTreeCandidateValidatorTest3 { .build()); writeModification.ready(); - final DataTreeCandidate writeDevicesCandidate = inMemoryDataTree.prepare(writeModification); + final var writeDevicesCandidate = inMemoryDataTree.prepare(writeModification); LOG.debug("*************************"); LOG.debug("Before writeDevices: "); LOG.debug("*************************"); LOG.debug("{}", inMemoryDataTree); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(writeDevicesCandidate, rootLeafRefContext)); assertEquals(6, ex.getValidationsErrorsCount()); @@ -184,7 +181,7 @@ public class DataTreeCandidateValidatorTest3 { } private static void mergeDevices() throws DataValidationFailedException { - final ContainerNode devicesContainer = Builders.containerBuilder() + final var devicesContainer = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(devices)) .addChild(Builders.mapBuilder() .withNodeIdentifier(new NodeIdentifier(device)) @@ -198,20 +195,20 @@ public class DataTreeCandidateValidatorTest3 { .build()) .build(); - final YangInstanceIdentifier devicesPath = YangInstanceIdentifier.of(devices); - final DataTreeModification mergeModification = inMemoryDataTree.takeSnapshot().newModification(); + final var devicesPath = YangInstanceIdentifier.of(devices); + final var mergeModification = inMemoryDataTree.takeSnapshot().newModification(); mergeModification.write(devicesPath, devicesContainer); mergeModification.merge(devicesPath, devicesContainer); mergeModification.ready(); - final DataTreeCandidate mergeDevicesCandidate = inMemoryDataTree.prepare(mergeModification); + final var mergeDevicesCandidate = inMemoryDataTree.prepare(mergeModification); LOG.debug("*************************"); LOG.debug("Before mergeDevices: "); LOG.debug("*************************"); LOG.debug("{}", inMemoryDataTree); - final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class, + final var ex = assertThrows(LeafRefDataValidationFailedException.class, () -> LeafRefValidation.validate(mergeDevicesCandidate, rootLeafRefContext)); // :TODO verify errors count gz assertEquals(6, ex.getValidationsErrorsCount()); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextTest.java index 3d46298130..db65347283 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextTest.java @@ -7,14 +7,13 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; -import java.util.Map; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; @@ -22,17 +21,17 @@ import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class LeafRefContextTest { +class LeafRefContextTest { private static EffectiveModelContext context; private static Module rootMod; private static QNameModule root; private static LeafRefContext rootLeafRefContext; - @BeforeClass - public static void init() { + @BeforeAll + static void init() { context = YangParserTestUtils.parseYangResourceDirectory("/leafref-context-test/correct-modules"); - for (final Module module : context.getModules()) { + for (final var module : context.getModules()) { if (module.getName().equals("leafref-test2")) { rootMod = module; } @@ -42,8 +41,8 @@ public class LeafRefContextTest { rootLeafRefContext = LeafRefContext.create(context); } - @AfterClass - public static void cleanup() { + @AfterAll + static void cleanup() { context = null; root = null; rootMod = null; @@ -51,19 +50,19 @@ public class LeafRefContextTest { } @Test - public void test() { - final QName q1 = QName.create(root, "ref1"); - final QName q2 = QName.create(root, "leaf1"); - final QName q3 = QName.create(root, "cont1"); - final QName q4 = QName.create(root, "cont2"); - final QName q5 = QName.create(root, "list1"); - final QName q6 = QName.create(root, "name"); + void test() { + final var q1 = QName.create(root, "ref1"); + final var q2 = QName.create(root, "leaf1"); + final var q3 = QName.create(root, "cont1"); + final var q4 = QName.create(root, "cont2"); + final var q5 = QName.create(root, "list1"); + final var q6 = QName.create(root, "name"); - final Absolute leafRefNode = Absolute.of(q1); - final Absolute targetNode = Absolute.of(q2); - final Absolute cont1Node = Absolute.of(q3); - final Absolute cont2Node = Absolute.of(q4); - final Absolute name1Node = Absolute.of(q3, q5, q6); + final var leafRefNode = Absolute.of(q1); + final var targetNode = Absolute.of(q2); + final var cont1Node = Absolute.of(q3); + final var cont2Node = Absolute.of(q4); + final var name1Node = Absolute.of(q3, q5, q6); assertTrue(rootLeafRefContext.isLeafRef(leafRefNode)); assertFalse(rootLeafRefContext.isLeafRef(targetNode)); @@ -77,7 +76,7 @@ public class LeafRefContextTest { assertTrue(rootLeafRefContext.hasChildReferencedByLeafRef(cont2Node)); assertFalse(rootLeafRefContext.hasChildReferencedByLeafRef(leafRefNode)); - Map leafRefs = rootLeafRefContext.getAllLeafRefsReferencingThisNode(name1Node); + var leafRefs = rootLeafRefContext.getAllLeafRefsReferencingThisNode(name1Node); assertEquals(4, leafRefs.size()); leafRefs = rootLeafRefContext.getAllLeafRefsReferencingThisNode(leafRefNode); assertTrue(leafRefs.isEmpty()); diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextTreeBuilderTest.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextTreeBuilderTest.java index 801c44ae14..b570e3fbcc 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextTreeBuilderTest.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextTreeBuilderTest.java @@ -7,20 +7,17 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import static org.hamcrest.CoreMatchers.instanceOf; -import static org.hamcrest.CoreMatchers.startsWith; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThrows; -import static org.junit.Assert.assertTrue; - -import java.util.List; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; @@ -32,7 +29,7 @@ import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class LeafRefContextTreeBuilderTest { +class LeafRefContextTreeBuilderTest { private static final Logger LOG = LoggerFactory.getLogger(LeafRefContextTreeBuilderTest.class); private static EffectiveModelContext context; @@ -40,11 +37,11 @@ public class LeafRefContextTreeBuilderTest { private static QNameModule tst; private static LeafRefContext rootLeafRefContext; - @BeforeClass - public static void init() { + @BeforeAll + static void init() { context = YangParserTestUtils.parseYangResourceDirectory("/leafref-context-test/correct-modules"); - for (final Module module : context.getModules()) { + for (final var module : context.getModules()) { if (module.getName().equals("leafref-test")) { tstMod = module; } @@ -55,8 +52,8 @@ public class LeafRefContextTreeBuilderTest { rootLeafRefContext = LeafRefContext.create(context); } - @AfterClass - public static void cleanup() { + @AfterAll + static void cleanup() { context = null; tst = null; tstMod = null; @@ -64,13 +61,13 @@ public class LeafRefContextTreeBuilderTest { } @Test - public void buildLeafRefContextTreeTest1() { + void buildLeafRefContextTreeTest1() { - final QName q1 = QName.create(tst, "odl-project"); - final QName q2 = QName.create(tst, "project"); - final QName q3 = QName.create(tst, "project-lead"); + final var q1 = QName.create(tst, "odl-project"); + final var q2 = QName.create(tst, "project"); + final var q3 = QName.create(tst, "project-lead"); - final LeafRefContext leafRefCtx = rootLeafRefContext.getReferencingChildByName(q1) + final var leafRefCtx = rootLeafRefContext.getReferencingChildByName(q1) .getReferencingChildByName(q2).getReferencingChildByName(q3); assertTrue(leafRefCtx.isReferencing()); @@ -86,13 +83,13 @@ public class LeafRefContextTreeBuilderTest { } @Test - public void buildLeafRefContextTreeTest2() { + void buildLeafRefContextTreeTest2() { - final QName q1 = QName.create(tst, "odl-project"); - final QName q2 = QName.create(tst, "project"); - final QName q4 = QName.create(tst, "project-lead2"); + final var q1 = QName.create(tst, "odl-project"); + final var q2 = QName.create(tst, "project"); + final var q4 = QName.create(tst, "project-lead2"); - final LeafRefContext leafRefCtx2 = rootLeafRefContext.getReferencingChildByName(q1) + final var leafRefCtx2 = rootLeafRefContext.getReferencingChildByName(q1) .getReferencingChildByName(q2).getReferencingChildByName(q4); assertTrue(leafRefCtx2.isReferencing()); @@ -108,14 +105,14 @@ public class LeafRefContextTreeBuilderTest { } @Test - public void buildLeafRefContextTreeXPathTest() { - final QName q1 = QName.create(tst, "odl-project"); - final QName q2 = QName.create(tst, "project"); - final QName q5 = QName.create(tst, "ch1"); - final QName q6 = QName.create(tst, "c1"); - final QName q7 = QName.create(tst, "ch2"); - final QName q8 = QName.create(tst, "l1"); - final LeafRefContext leafRefCtx3 = rootLeafRefContext.getReferencingChildByName(q1) + void buildLeafRefContextTreeXPathTest() { + final var q1 = QName.create(tst, "odl-project"); + final var q2 = QName.create(tst, "project"); + final var q5 = QName.create(tst, "ch1"); + final var q6 = QName.create(tst, "c1"); + final var q7 = QName.create(tst, "ch2"); + final var q8 = QName.create(tst, "l1"); + final var leafRefCtx3 = rootLeafRefContext.getReferencingChildByName(q1) .getReferencingChildByName(q2).getReferencingChildByName(q5).getReferencingChildByName(q6) .getReferencingChildByName(q7).getReferencingChildByName(q6).getReferencingChildByName(q8); @@ -132,12 +129,12 @@ public class LeafRefContextTreeBuilderTest { } @Test - public void buildLeafRefContextTreeTest4() { - final QName q9 = QName.create(tst, "odl-project"); - final QName q10 = QName.create(tst, "project"); - final QName q11 = QName.create(tst, "name"); + void buildLeafRefContextTreeTest4() { + final var q9 = QName.create(tst, "odl-project"); + final var q10 = QName.create(tst, "project"); + final var q11 = QName.create(tst, "name"); - final LeafRefContext leafRefCtx4 = rootLeafRefContext.getReferencedChildByName(q9) + final var leafRefCtx4 = rootLeafRefContext.getReferencedChildByName(q9) .getReferencedChildByName(q10).getReferencedChildByName(q11); assertNotNull(leafRefCtx4); @@ -147,12 +144,12 @@ public class LeafRefContextTreeBuilderTest { } @Test - public void leafRefContextUtilsTest() { - final QName q1 = QName.create(tst, "odl-contributor"); - final QName q2 = QName.create(tst, "contributor"); - final QName q3 = QName.create(tst, "odl-project-name"); + void leafRefContextUtilsTest() { + final var q1 = QName.create(tst, "odl-contributor"); + final var q2 = QName.create(tst, "contributor"); + final var q3 = QName.create(tst, "odl-project-name"); - final LeafRefContext found = rootLeafRefContext.getLeafRefReferencingContext(Absolute.of(q1, q2, q3)); + final var found = rootLeafRefContext.getLeafRefReferencingContext(Absolute.of(q1, q2, q3)); assertNotNull(found); assertTrue(found.isReferencing()); assertNotNull(found.getLeafRefTargetPath()); @@ -161,12 +158,12 @@ public class LeafRefContextTreeBuilderTest { } @Test - public void leafRefContextUtilsTest2() { - final QName q1 = QName.create(tst, "odl-project"); - final QName q2 = QName.create(tst, "project"); - final QName q3 = QName.create(tst, "name"); + void leafRefContextUtilsTest2() { + final var q1 = QName.create(tst, "odl-project"); + final var q2 = QName.create(tst, "project"); + final var q3 = QName.create(tst, "name"); - final Absolute node = Absolute.of(q1, q2, q3); + final var node = Absolute.of(q1, q2, q3); LeafRefContext found = rootLeafRefContext.getLeafRefReferencingContext(node); assertNull(found); @@ -181,17 +178,17 @@ public class LeafRefContextTreeBuilderTest { } @Test - public void leafRefContextUtilsTest3() { - final QName q16 = QName.create(tst, "con1"); - final Absolute con1 = Absolute.of(q16); + void leafRefContextUtilsTest3() { + final var q16 = QName.create(tst, "con1"); + final var con1 = Absolute.of(q16); - final List allLeafRefChilds = rootLeafRefContext.findAllLeafRefChilds(con1); + final var allLeafRefChilds = rootLeafRefContext.findAllLeafRefChilds(con1); assertNotNull(allLeafRefChilds); assertFalse(allLeafRefChilds.isEmpty()); assertEquals(4, allLeafRefChilds.size()); - List allChildsReferencedByLeafRef = rootLeafRefContext.findAllChildsReferencedByLeafRef( + var allChildsReferencedByLeafRef = rootLeafRefContext.findAllChildsReferencedByLeafRef( Absolute.of(QName.create(tst, "odl-contributor"))); assertNotNull(allChildsReferencedByLeafRef); @@ -205,14 +202,14 @@ public class LeafRefContextTreeBuilderTest { } @Test - public void incorrectLeafRefPathTest() { - final IllegalStateException ise = assertThrows(IllegalStateException.class, + void incorrectLeafRefPathTest() { + final var ise = assertThrows(IllegalStateException.class, () -> YangParserTestUtils.parseYangResourceDirectory("/leafref-context-test/incorrect-modules")); - final Throwable ype = ise.getCause(); - final Throwable reactor = ype.getCause(); - assertThat(reactor, instanceOf(ReactorException.class)); - final Throwable source = reactor.getCause(); - assertThat(source, instanceOf(SourceException.class)); - assertThat(source.getMessage(), startsWith("token recognition error at: './' at 1:2")); + final var ype = ise.getCause(); + final var reactor = ype.getCause(); + assertInstanceOf(ReactorException.class, reactor); + final var source = reactor.getCause(); + assertInstanceOf(SourceException.class, source); + assertTrue(source.getMessage().startsWith("token recognition error at: './' at 1:2")); } } diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT821Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT821Test.java index 890dcae5e7..4e32f00469 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT821Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT821Test.java @@ -7,10 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -19,14 +21,12 @@ import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class YT821Test { +class YT821Test { private static final QName ROOT = QName.create("urn:opendaylight:params:xml:ns:yang:foo", "2018-07-18", "root"); private static final QName FOO = QName.create(ROOT, "foo"); private static final QName BAR = QName.create(ROOT, "bar"); @@ -42,8 +42,8 @@ public class YT821Test { private DataTree dataTree; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { schemaContext = YangParserTestUtils.parseYang(""" module yt821 { namespace "urn:opendaylight:params:xml:ns:yang:foo"; @@ -90,57 +90,61 @@ public class YT821Test { leafRefContext = LeafRefContext.create(schemaContext); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { schemaContext = null; leafRefContext = null; } - @Before - public void before() { + @BeforeEach + void before() { dataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); } @Test - public void testValidRefFromAugmentation() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); + void testValidRefFromAugmentation() throws Exception { + final var writeModification = dataTree.takeSnapshot().newModification(); writeModification.write(ROOT_ID, refFromAug("foo1")); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = dataTree.prepare(writeModification); + final var writeContributorsCandidate = dataTree.prepare(writeModification); LeafRefValidation.validate(writeContributorsCandidate, leafRefContext); dataTree.commit(writeContributorsCandidate); } - @Test(expected = LeafRefDataValidationFailedException.class) - public void testInvalidRefFromAugmentation() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); - writeModification.write(ROOT_ID, refFromAug("foo2")); - writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = dataTree.prepare(writeModification); - - LeafRefValidation.validate(writeContributorsCandidate, leafRefContext); + @Test + void testInvalidRefFromAugmentation() throws Exception { + assertThrows(LeafRefDataValidationFailedException.class, () -> { + final var writeModification = dataTree.takeSnapshot().newModification(); + writeModification.write(ROOT_ID, refFromAug("foo2")); + writeModification.ready(); + final var writeContributorsCandidate = dataTree.prepare(writeModification); + + LeafRefValidation.validate(writeContributorsCandidate, leafRefContext); + }); } @Test - public void testValidRefInContainerFromAugmentation() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); + void testValidRefInContainerFromAugmentation() throws Exception { + final var writeModification = dataTree.takeSnapshot().newModification(); writeModification.write(ROOT_ID, refInContainer("foo1")); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = dataTree.prepare(writeModification); + final var writeContributorsCandidate = dataTree.prepare(writeModification); LeafRefValidation.validate(writeContributorsCandidate, leafRefContext); dataTree.commit(writeContributorsCandidate); } - @Test(expected = LeafRefDataValidationFailedException.class) - public void testInvalidRefInContainerFromAugmentation() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); - writeModification.write(ROOT_ID, refInContainer("foo2")); - writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = dataTree.prepare(writeModification); - - LeafRefValidation.validate(writeContributorsCandidate, leafRefContext); + @Test + void testInvalidRefInContainerFromAugmentation() throws Exception { + assertThrows(LeafRefDataValidationFailedException.class, () -> { + final var writeModification = dataTree.takeSnapshot().newModification(); + writeModification.write(ROOT_ID, refInContainer("foo2")); + writeModification.ready(); + final var writeContributorsCandidate = dataTree.prepare(writeModification); + + LeafRefValidation.validate(writeContributorsCandidate, leafRefContext); + }); } private static ContainerNode refFromAug(final String refValue) { diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT891Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT891Test.java index 24d3cd3ffe..26dcfde107 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT891Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT891Test.java @@ -7,10 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.tree.leafref; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -19,14 +21,12 @@ import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class YT891Test { +class YT891Test { private static final QName FOO_TOP = QName.create("urn:opendaylight:params:xml:ns:yang:foo", "2018-07-27", "foo-top"); private static final QName CONTAINER_IN_LIST = QName.create(FOO_TOP, "container-in-list"); @@ -45,13 +45,13 @@ public class YT891Test { private DataTree dataTree; - @Before - public void before() { + @BeforeEach + void before() { dataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); } - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeClass() { schemaContext = YangParserTestUtils.parseYang(""" module bar { namespace "urn:opendaylight:params:xml:ns:yang:bar"; @@ -118,46 +118,50 @@ public class YT891Test { leafRefContext = LeafRefContext.create(schemaContext); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterClass() { schemaContext = null; leafRefContext = null; } @Test - public void testValid() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); + void testValid() throws Exception { + final var writeModification = dataTree.takeSnapshot().newModification(); writeModification.write(FOO_TOP_ID, fooTopWithList("name1")); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = dataTree.prepare(writeModification); + final var writeContributorsCandidate = dataTree.prepare(writeModification); LeafRefValidation.validate(writeContributorsCandidate, leafRefContext); dataTree.commit(writeContributorsCandidate); } - @Test(expected = LeafRefDataValidationFailedException.class) - public void testInvalid() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); - writeModification.write(FOO_TOP_ID, fooTopWithList("name2")); - writeModification.ready(); - LeafRefValidation.validate(dataTree.prepare(writeModification), leafRefContext); + @Test + void testInvalid() throws Exception { + assertThrows(LeafRefDataValidationFailedException.class, () -> { + final var writeModification = dataTree.takeSnapshot().newModification(); + writeModification.write(FOO_TOP_ID, fooTopWithList("name2")); + writeModification.ready(); + LeafRefValidation.validate(dataTree.prepare(writeModification), leafRefContext); + }); } @Test - public void testGroupingWithLeafrefValid() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); + void testGroupingWithLeafrefValid() throws Exception { + final var writeModification = dataTree.takeSnapshot().newModification(); writeModification.write(BAZ_TOP_ID, bazTop()); writeModification.write(FOO_TOP_ID, fooTopWithRef("name1")); writeModification.ready(); LeafRefValidation.validate(dataTree.prepare(writeModification), leafRefContext); } - @Test(expected = LeafRefDataValidationFailedException.class) - public void testGroupingWithLeafrefInvalid() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); - writeModification.write(BAZ_TOP_ID, bazTop()); - writeModification.write(FOO_TOP_ID, fooTopWithRef("name3")); - writeModification.ready(); - LeafRefValidation.validate(dataTree.prepare(writeModification), leafRefContext); + @Test + void testGroupingWithLeafrefInvalid() throws Exception { + assertThrows(LeafRefDataValidationFailedException.class, () -> { + final var writeModification = dataTree.takeSnapshot().newModification(); + writeModification.write(BAZ_TOP_ID, bazTop()); + writeModification.write(FOO_TOP_ID, fooTopWithRef("name3")); + writeModification.ready(); + LeafRefValidation.validate(dataTree.prepare(writeModification), leafRefContext); + }); } private static ContainerNode fooTopWithList(final String refValue) { diff --git a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT892Test.java b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT892Test.java index 57df5c9e00..b8035d2fc4 100644 --- a/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT892Test.java +++ b/data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/YT892Test.java @@ -8,8 +8,8 @@ package org.opendaylight.yangtools.yang.data.tree.leafref; import com.google.common.collect.ImmutableMap; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.Uint8; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -18,14 +18,11 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.tree.api.DataTree; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public class YT892Test { +class YT892Test { private static final QName BGP = QName.create("urn:opendaylight:params:xml:ns:yang:test:bgp", "2018-08-14", "bgp"); private static final QName PEER_GROUPS = QName.create(BGP, "peer-groups"); private static final QName PEER_GROUP = QName.create(BGP, "peer-group"); @@ -63,16 +60,16 @@ public class YT892Test { private LeafRefContext leafRefContext; private DataTree dataTree; - @Before - public void setup() { - final EffectiveModelContext schemaContext = YangParserTestUtils.parseYangResourceDirectory("/yt892"); + @BeforeEach + void setup() { + final var schemaContext = YangParserTestUtils.parseYangResourceDirectory("/yt892"); leafRefContext = LeafRefContext.create(schemaContext); dataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext); } @Test - public void testWriteBgpNeighbour() throws Exception { - final DataTreeModification writeModification = dataTree.takeSnapshot().newModification(); + void testWriteBgpNeighbour() throws Exception { + final var writeModification = dataTree.takeSnapshot().newModification(); writeModification.write(BGP_ID, Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(BGP)) .withChild(Builders.containerBuilder() @@ -164,7 +161,7 @@ public class YT892Test { .build()); writeModification.ready(); - final DataTreeCandidate writeContributorsCandidate = dataTree.prepare(writeModification); + final var writeContributorsCandidate = dataTree.prepare(writeModification); LeafRefValidation.validate(writeContributorsCandidate, leafRefContext); dataTree.commit(writeContributorsCandidate); } -- 2.36.6