*/
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;
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;
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(
}
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() {
}
protected static LeafNode<String> 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();
}
protected static LeafSetNode<String> createLeafSetNode() {
- final String value = "Leaf set value";
+ final var value = "Leaf set value";
return Builders.<String>leafSetBuilder()
.withNodeIdentifier(NodeIdentifier.create(LEAF_SET_QNAME))
.withValue(List.of(Builders.<String>leafSetEntryBuilder()
}
protected static UserLeafSetNode<String> createUserLeafSetNode() {
- final String value = "User leaf set value";
- final LeafSetEntryNode<String> leafSetValue = Builders.<String>leafSetEntryBuilder()
+ final var value = "User leaf set value";
+ return Builders.<String>orderedLeafSetBuilder()
+ .withNodeIdentifier(NodeIdentifier.create(USER_LEAF_SET_QNAME))
+ .withChild(Builders.<String>leafSetEntryBuilder()
.withNodeIdentifier(new NodeWithValue<>(USER_LEAF_SET_QNAME, value))
.withValue(value)
- .build();
- return Builders.<String>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<String> createAnyDataNode() {
*/
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;
}
}
*/
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<NormalizedNode> 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<NormalizedNode> readNode = snapshot.readNode(TestModel.NAME_PATH);
+ final var readNode = snapshot.readNode(TestModel.NAME_PATH);
assertTrue(readNode.isPresent());
}
modificationTree.ready();
inMemoryDataTree.validate(modificationTree);
- final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree);
+ final var prepare = inMemoryDataTree.prepare(modificationTree);
inMemoryDataTree.commit(prepare);
}
}
*/
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;
* 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());
}
}
*/
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;
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;
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");
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;
}
}
}"""));
- }
- @Test
- public void test() throws DataValidationFailedException {
firstModification();
secondModification(1);
secondModification(2);
*/
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;
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",
private DataTree inMemoryDataTree;
- @BeforeClass
- public static void beforeClass() {
+ @BeforeAll
+ static void beforeClass() {
schemaContext = YangParserTestUtils.parseYang("""
module Bug4454Test {
yang-version 1;
}""");
}
- @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();
}
@Test
- public void minMaxListDeleteWriteTest() throws DataValidationFailedException {
- final DataTreeModification modificationTree1 = inMemoryDataTree.takeSnapshot().newModification();
+ void minMaxListDeleteWriteTest() throws DataValidationFailedException {
+ final var modificationTree1 = inMemoryDataTree.takeSnapshot().newModification();
- Map<QName, Object> key = new HashMap<>();
+ final var key = new HashMap<QName, Object>();
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();
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<QName, Object> keyTemp = new HashMap<>();
+ final var keyTemp = new HashMap<QName, Object>();
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();
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<String> newNode = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test");
- final LeafNode<String> newNode1 = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test1");
- final LeafNode<String> newNode2 = ImmutableNodes.leafNode(MIN_MAX_VALUE_LEAF_QNAME, "test2");
- final LeafNode<String> 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<NormalizedNode> 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);
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);
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<Object> barLeafSetEntry = Builders.leafSetEntryBuilder()
+ final var barLeafSetEntry = Builders.leafSetEntryBuilder()
.withNodeIdentifier(barPath)
.withValue("bar").build();
- final LeafSetEntryNode<Object> gooLeafSetEntry = Builders.leafSetEntryBuilder()
+ final var gooLeafSetEntry = Builders.leafSetEntryBuilder()
.withNodeIdentifier(gooPath)
.withValue("goo").build();
- final LeafSetNode<Object> fooLeafSetNode = Builders.leafSetBuilder()
+ final var fooLeafSetNode = Builders.leafSetBuilder()
.withNodeIdentifier(new NodeIdentifier(MIN_MAX_LEAF_LIST_QNAME))
.withChildValue("foo")
.build();
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<NormalizedNode> masterContainer = snapshotAfterCommit.readNode(MASTER_CONTAINER_PATH);
+ final var snapshotAfterCommit = inMemoryDataTree.takeSnapshot();
+ final var masterContainer = snapshotAfterCommit.readNode(MASTER_CONTAINER_PATH);
assertTrue(masterContainer.isPresent());
- final Optional<NormalizedNodeContainer<?>> 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<NormalizedNodeContainer<?>>) 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);
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);
}
@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<QName, Object> key = new HashMap<>();
+ final var key = new HashMap<QName, Object>();
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();
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);
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<NormalizedNode> 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<NormalizedNode> 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 {
*/
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");
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";
}
}
}""");
- 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));
}
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";
}
}
}""");
- assertNotNull("Schema context must not be null.", schemaContext);
+ assertNotNull(schemaContext, "Schema context must not be null.");
try {
testContainerIsNotPresent(schemaContext);
}
private static void testMultipleContainers() throws DataValidationFailedException {
- final EffectiveModelContext schemaContext = YangParserTestUtils.parseYang("""
+ final var schemaContext = YangParserTestUtils.parseYang("""
module foo-multiple {
yang-version 1;
namespace "foo";
}
}
}""");
- assertNotNull("Schema context must not be null.", schemaContext);
+ assertNotNull(schemaContext, "Schema context must not be null.");
testContainerIsNotPresent(schemaContext);
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<NodeIdentifier, ContainerNode> taskDataBuilder = Builders.containerBuilder()
+ final var taskDataBuilder = Builders.containerBuilder()
.withNodeIdentifier(new NodeIdentifier(TASK_DATA))
.withChild(ImmutableNodes.leafNode(OTHER_DATA, "foo"));
if (withMandatoryNode) {
}
private static DataContainerChild createTaskDataMultipleContainer(final boolean withPresenceContianer) {
- DataContainerNodeBuilder<NodeIdentifier, ContainerNode> 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<NodeIdentifier, ContainerNode> 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();
}
}
*/
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.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.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");
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;
}""");
}
- @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<NodeIdentifier, ContainerNode> 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()
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<NodeIdentifier, ContainerNode> 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) {
}
@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) {
}
@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) {
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(
}
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))
.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))
}
@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<NodeIdentifier, ContainerNode> 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());
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());
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) {
}
private static DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> 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));
}
@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());
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());
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) {
}
@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());
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());
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"))),
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) {
* 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());
modificationTree.ready();
inMemoryDataTree.validate(modificationTree);
- final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree);
+ final var prepare = inMemoryDataTree.prepare(modificationTree);
inMemoryDataTree.commit(prepare);
modificationTree2.merge(
createMapEntry("1", "common-value"));
modificationTree2.ready();
inMemoryDataTree.validate(modificationTree2);
- final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2);
+ final var prepare2 = inMemoryDataTree.prepare(modificationTree2);
inMemoryDataTree.commit(prepare2);
}
}
*/
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;
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");
private static EffectiveModelContext SCHEMA_CONTEXT;
- @BeforeClass
- public static void beforeClass() {
+ @BeforeAll
+ static void beforeClass() {
SCHEMA_CONTEXT = YangParserTestUtils.parseYang("""
module bug5968 {
yang-version 1;
}""");
}
- @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<NodeIdentifier, ContainerNode> 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(
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<NodeIdentifier, ContainerNode> 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) {
}
@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) {
}
@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) {
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(
}
@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<NodeIdentifier, ContainerNode> 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);
}
}
*/
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");
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;
}
}
}""");
- 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();
modificationTree.ready();
inMemoryDataTree.validate(modificationTree);
- final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree);
+ final var prepare = inMemoryDataTree.prepare(modificationTree);
inMemoryDataTree.commit(prepare);
}
}
*/
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");
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;
}""");
}
- @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()
}
@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()
.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 "));
}
}
*/
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;
+ }
+ });
}
}
*/
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;
private DataTree inMemoryDataTree;
- @Before
- public void prepare() {
+ @BeforeEach
+ void prepare() {
inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL,
SCHEMA_CONTEXT);
}
}
@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));
modificationTree1.ready();
modificationTree2.ready();
inMemoryDataTree.validate(modificationTree1);
- final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1);
+ final var prepare1 = inMemoryDataTree.prepare(modificationTree1);
inMemoryDataTree.commit(prepare1);
try {
} 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<NormalizedNode> 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));
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<NormalizedNode> 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());
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());
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());
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());
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());
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());
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());
modificationTree2.ready();
inMemoryDataTree.validate(modificationTree1);
- final DataTreeCandidate prepare1 = inMemoryDataTree.prepare(modificationTree1);
+ final var prepare1 = inMemoryDataTree.prepare(modificationTree1);
inMemoryDataTree.commit(prepare1);
try {
}
- 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());
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());
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());
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);
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);
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);
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);
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);
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);
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());
}
}
*/
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;
.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();
+ });
}
}
*/
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;
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;
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<String> 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
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'
}
@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'
}
@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'
}
@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);
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'
}
@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"));
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());
}
*/
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);
+ });
}
}
*/
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());
}
@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
*/
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;
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");
private DataTree inMemoryDataTree;
- @BeforeClass
- public static void beforeClass() {
+ @BeforeAll
+ static void beforeClass() {
schemaContext = YangParserTestUtils.parseYang("""
module list-constraints-validation-test-model {
yang-version 1;
}""");
}
- @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();
}
@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<NormalizedNode> 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<NormalizedNode> 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<Object> barPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "bar");
- final NodeWithValue<Object> 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))
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<NormalizedNode> 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);
}
@Test
- public void minMaxLeafListFail() {
- final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ void minMaxLeafListFail() {
+ final var modificationTree = inMemoryDataTree.takeSnapshot().newModification();
- final NodeWithValue<Object> barPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "bar");
- final NodeWithValue<Object> gooPath = new NodeWithValue<>(MIN_MAX_LIST_QNAME, "goo");
- final NodeWithValue<Object> 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))
.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",
}
@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))
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<NormalizedNode> 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))
.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());
}
private static void assertOperationFailed(final Exception ex, final String expectedAppTag) {
- assertThat(ex, instanceOf(YangNetconfErrorAware.class));
- final List<YangNetconfError> 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());
*/
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;
}
}
@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)
.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")))
.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))
.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")))
.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);
}
}
*/
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);
}
}
*/
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;
* }
* }
*/
-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)
private RootApplyStrategy rootOper;
- @Before
- public void prepare() throws ExcludedDataSchemaNodeException {
+ @BeforeEach
+ void prepare() throws ExcludedDataSchemaNodeException {
rootOper = RootApplyStrategy.from(SchemaAwareApplyOperation.from(SCHEMA_CONTEXT,
DataTreeConfiguration.DEFAULT_OPERATIONAL));
}
}
@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<NormalizedNode> originalBarNode = modificationTree.readNode(OUTER_LIST_2_PATH);
+ final var originalBarNode = modificationTree.readNode(OUTER_LIST_2_PATH);
assertTrue(originalBarNode.isPresent());
assertSame(BAR_NODE, originalBarNode.orElseThrow());
// reads node to /outer-list/1/inner_list/two/value
// and checks if node is already present
- final Optional<NormalizedNode> 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<NormalizedNode> barTwoCAfterDelete = modificationTree.readNode(TWO_TWO_VALUE_PATH);
+ final var barTwoCAfterDelete = modificationTree.readNode(TWO_TWO_VALUE_PATH);
assertFalse(barTwoCAfterDelete.isPresent());
}
/**
* 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);
/**
}
@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));
.build());
// Reads list node from /test/outer-list.
- final Optional<NormalizedNode> 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<NormalizedNode> 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<NormalizedNode> 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<NormalizedNode> 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<NormalizedNode> potentialAfterDelete = modificationTree.readNode(TWO_TWO_PATH);
+ final var potentialAfterDelete = modificationTree.readNode(TWO_TWO_PATH);
assertFalse(potentialAfterDelete.isPresent());
}
*/
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 = {",
}
@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\"",
}
@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\"",
}
@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\"",
}
@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\"",
}
@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 = {",
}
@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\"",
}
@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 = {",
}
@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\"",
}
@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 = {",
*/
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;
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");
}
@Test
- public void testsequentialModifications() throws DataValidationFailedException {
+ void testsequentialModifications() throws DataValidationFailedException {
modification1();
modification2();
delete1();
}
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);
inMemoryDataTree.validate(treeModification);
inMemoryDataTree.commit(inMemoryDataTree.prepare(treeModification));
- DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
- Optional<NormalizedNode> readNode = snapshotAfterCommits.readNode(path1);
+ final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
+ var readNode = snapshotAfterCommits.readNode(path1);
assertTrue(readNode.isPresent());
readNode = snapshotAfterCommits.readNode(path2);
}
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);
inMemoryDataTree.validate(treeModification);
inMemoryDataTree.commit(inMemoryDataTree.prepare(treeModification));
- DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
- Optional<NormalizedNode> readNode = snapshotAfterCommits.readNode(path1);
+ final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
+ var readNode = snapshotAfterCommits.readNode(path1);
assertTrue(readNode.isPresent());
readNode = snapshotAfterCommits.readNode(path2);
}
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);
assertTrue(ex.getMessage().contains("Metadata not available for modification ModifiedNode"));
}
- DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
- Optional<NormalizedNode> readNode = snapshotAfterCommits.readNode(path1);
+ final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
+ var readNode = snapshotAfterCommits.readNode(path1);
assertTrue(readNode.isPresent());
readNode = snapshotAfterCommits.readNode(path2);
}
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);
assertTrue(ex.getMessage().contains("Node was replaced by other transaction"));
}
- DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
- Optional<NormalizedNode> 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<NormalizedNode> 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<NormalizedNode> readNode = snapshotAfterCommits.readNode(path);
+ final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
+ final var readNode = snapshotAfterCommits.readNode(path);
assertFalse(readNode.isPresent());
}
*/
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;
private RootApplyStrategy rootOper;
- @Before
- public void prepare() throws ExcludedDataSchemaNodeException {
+ @BeforeEach
+ void prepare() throws ExcludedDataSchemaNodeException {
rootOper = RootApplyStrategy.from(SchemaAwareApplyOperation.from(SCHEMA_CONTEXT,
DataTreeConfiguration.DEFAULT_OPERATIONAL));
}
}
@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<? extends TreeNode> 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<? extends TreeNode> 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);
}
@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 {
}
@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<? extends TreeNode> 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<YangInstanceIdentifier, TreeNode> 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<? extends TreeNode> expectedNode = StoreTreeNodes.findNode(rootNode, outerListInnerListPath);
+ final var expectedNode = StoreTreeNodes.findNode(rootNode, outerListInnerListPath);
assertPresentAndType(expectedNode, TreeNode.class);
- final Entry<YangInstanceIdentifier, TreeNode> actualNode = StoreTreeNodes.findClosest(rootNode,
+ final var actualNode = StoreTreeNodes.findClosest(rootNode,
twoTwoInvalidPath);
assertTreeNodeEquals(expectedNode.orElseThrow(), actualNode.getValue());
}
*/
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();
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);
}
@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));
}
@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();
}
@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,
}
private void assertNodeExistence(final YangInstanceIdentifier outerListParentPath, final boolean shouldBePresent) {
- final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
- final Optional<NormalizedNode> readNode = snapshotAfterCommits.readNode(outerListParentPath);
+ final var snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
+ final var readNode = snapshotAfterCommits.readNode(outerListParentPath);
assertEquals(readNode.isPresent(), shouldBePresent);
}
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");
*/
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;
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;
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");
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(
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,
}
@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);
}
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<YangNetconfError> 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());
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"))
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))
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))
}
@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");
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);
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"));
private DataTree dataTree;
- @BeforeClass
- public static void beforeClass() {
+ @BeforeAll
+ static void beforeClass() {
SCHEMA_CONTEXT = YangParserTestUtils.parseYang("""
module yt1104 {
yang-version 1.1;
}""");
}
- @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);
*/
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;
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");
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))
@Test
@Deprecated
- public void testFooWithBarLegacy() throws DataValidationFailedException {
+ void testFooWithBarLegacy() throws DataValidationFailedException {
applyOperation(mod -> {
mod.write(YangInstanceIdentifier.of(FOO), Builders.containerBuilder()
.withNodeIdentifier(new NodeIdentifier(FOO))
}
@Test
- public void testFooWithoutBar() {
+ void testFooWithoutBar() {
final IllegalArgumentException ex = assertFailsReady(mod -> {
mod.write(YangInstanceIdentifier.of(FOO), Builders.containerBuilder()
.withNodeIdentifier(new NodeIdentifier(FOO))
}
@Test
- public void testBarWithXyzzyWithSubtree() throws DataValidationFailedException {
+ void testBarWithXyzzyWithSubtree() throws DataValidationFailedException {
applyOperation(mod -> {
mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder()
.withNodeIdentifier(new NodeIdentifier(BAR))
}
@Test
- public void testBazWithAugmentedCaseWithMandatoryLeaf() throws DataValidationFailedException {
+ void testBazWithAugmentedCaseWithMandatoryLeaf() throws DataValidationFailedException {
applyOperation(mod -> {
mod.write(YangInstanceIdentifier.of(BAR), Builders.containerBuilder()
.withNodeIdentifier(new NodeIdentifier(BAR))
});
}
- @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))
});
}
- @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))
}
@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()
}
@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()
private void applyOperation(final Consumer<DataTreeModification> 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));
*/
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;
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;
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");
private DataTree dataTree;
- @BeforeClass
- public static void beforeClass() {
+ @BeforeAll
+ static void beforeClass() {
SCHEMA_CONTEXT = YangParserTestUtils.parseYang("""
module yt776 {
namespace yt776;
}""");
}
- @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)
}
@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)
.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)
}
@Test
- public void testTwoAttributes() throws DataValidationFailedException {
+ void testTwoAttributes() throws DataValidationFailedException {
writeAndCommit(containerBuilder().withNodeIdentifier(BOX)
.withChild(mapBuilder().withNodeIdentifier(OBJECT_LIST)
.addChild(mapEntryBuilder().withNodeIdentifier(OBJECT_ITEM)
}
@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)
.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)
}
@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)
}
@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)
}
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);
}
*/
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());
}
@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);
}
}
*/
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);
}
}
*/
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;
}""");
assertNotNull(context);
- final LeafRefContext leafRefContext = LeafRefContext.create(context);
+ final var leafRefContext = LeafRefContext.create(context);
assertNotNull(leafRefContext);
- final Map<QName, LeafRefContext> 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);
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<QName, LeafRefContext> 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<QName, LeafRefContext> allReferencedByLeafRefCtxs = targetCtx.getAllReferencedByLeafRefCtxs();
+ final var allReferencedByLeafRefCtxs = targetCtx.getAllReferencedByLeafRefCtxs();
assertEquals(6, allReferencedByLeafRefCtxs.size());
assertTrue(myLeafCtx == targetCtx.getReferencedByLeafRefCtxByName(foo("my-leaf")));
}
*/
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;
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);
*/
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;
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;
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;
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;
}
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;
}
@Test
- public void dataTreeCanditateValidationTest() throws DataValidationFailedException {
+ void dataTreeCanditateValidationTest() throws DataValidationFailedException {
write();
write2();
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("*************************");
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());
}
private static void writeIntoMapEntry() throws DataValidationFailedException {
- final Map<QName, Object> keys = new HashMap<>();
+ final var keys = new HashMap<QName, Object>();
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<String> 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());
}
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());
}
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),
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());
}
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"))
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());
}
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: ");
LOG.debug(inMemoryDataTree.toString());
- final LeafRefDataValidationFailedException ex = assertThrows(LeafRefDataValidationFailedException.class,
+ final var ex = assertThrows(LeafRefDataValidationFailedException.class,
() -> LeafRefValidation.validate(deleteContributorsCanditate, rootLeafRefContext));
assertEquals(6, ex.getValidationsErrorsCount());
*/
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.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;
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;
}
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()
.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;
}
@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()
.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());
*/
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;
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;
}
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))
.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;
}
@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()
.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());
}
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))
.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());
*/
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;
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;
}
rootLeafRefContext = LeafRefContext.create(context);
}
- @AfterClass
- public static void cleanup() {
+ @AfterAll
+ static void cleanup() {
context = null;
root = null;
rootMod = null;
}
@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));
assertTrue(rootLeafRefContext.hasChildReferencedByLeafRef(cont2Node));
assertFalse(rootLeafRefContext.hasChildReferencedByLeafRef(leafRefNode));
- Map<QName, LeafRefContext> leafRefs = rootLeafRefContext.getAllLeafRefsReferencingThisNode(name1Node);
+ var leafRefs = rootLeafRefContext.getAllLeafRefsReferencingThisNode(name1Node);
assertEquals(4, leafRefs.size());
leafRefs = rootLeafRefContext.getAllLeafRefsReferencingThisNode(leafRefNode);
assertTrue(leafRefs.isEmpty());
*/
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;
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;
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;
}
rootLeafRefContext = LeafRefContext.create(context);
}
- @AfterClass
- public static void cleanup() {
+ @AfterAll
+ static void cleanup() {
context = null;
tst = null;
tstMod = null;
}
@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());
}
@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());
}
@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);
}
@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);
}
@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());
}
@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);
}
@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<LeafRefContext> allLeafRefChilds = rootLeafRefContext.findAllLeafRefChilds(con1);
+ final var allLeafRefChilds = rootLeafRefContext.findAllLeafRefChilds(con1);
assertNotNull(allLeafRefChilds);
assertFalse(allLeafRefChilds.isEmpty());
assertEquals(4, allLeafRefChilds.size());
- List<LeafRefContext> allChildsReferencedByLeafRef = rootLeafRefContext.findAllChildsReferencedByLeafRef(
+ var allChildsReferencedByLeafRef = rootLeafRefContext.findAllChildsReferencedByLeafRef(
Absolute.of(QName.create(tst, "odl-contributor")));
assertNotNull(allChildsReferencedByLeafRef);
}
@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"));
}
}
*/
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;
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");
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";
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) {
*/
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;
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");
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";
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) {
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;
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");
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()
.build());
writeModification.ready();
- final DataTreeCandidate writeContributorsCandidate = dataTree.prepare(writeModification);
+ final var writeContributorsCandidate = dataTree.prepare(writeModification);
LeafRefValidation.validate(writeContributorsCandidate, leafRefContext);
dataTree.commit(writeContributorsCandidate);
}