+ public void testWriteRootNode() throws Exception {
+ final DataTree localDataTree = InMemoryDataTreeFactory.getInstance().create(TreeType.CONFIGURATION);
+ localDataTree.setSchemaContext(SCHEMA_CONTEXT);
+
+ DataTreeModification mod = localDataTree.takeSnapshot().newModification();
+ mod.write(CarsModel.BASE_PATH, CarsModel.create());
+ mod.ready();
+ localDataTree.validate(mod);
+ localDataTree.commit(localDataTree.prepare(mod));
+
+ NormalizedNode<?, ?> normalizedNode = dataTree.takeSnapshot().readNode(YangInstanceIdentifier.EMPTY).get();
+ pruningDataTreeModification.write(YangInstanceIdentifier.EMPTY, normalizedNode);
+ dataTree.commit(getCandidate());
+
+ Optional<NormalizedNode<?, ?>> actual = dataTree.takeSnapshot().readNode(YangInstanceIdentifier.EMPTY);
+ assertEquals("Root present", true, actual.isPresent());
+ assertEquals("Root node", normalizedNode, actual.get());
+ }
+
+ @Test
+ public void testWriteRootNodeWithInvalidChild() throws Exception {
+ final Shard mockShard = Mockito.mock(Shard.class);
+
+ ShardDataTree shardDataTree = new ShardDataTree(mockShard, SCHEMA_CONTEXT, TreeType.CONFIGURATION);
+ NormalizedNode<?, ?> root = shardDataTree.readNode(YangInstanceIdentifier.EMPTY).get();
+
+ NormalizedNode<?, ?> normalizedNode = ImmutableContainerNodeBuilder.create().withNodeIdentifier(
+ new YangInstanceIdentifier.NodeIdentifier(root.getNodeType())).withChild(
+ ImmutableNodes.containerNode(AUG_CONTAINER)).build();
+ pruningDataTreeModification.write(YangInstanceIdentifier.EMPTY, normalizedNode);
+ dataTree.commit(getCandidate());