/*
- * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
+ * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
import org.junit.Before;
import org.junit.Test;
import org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-public class ErrorReportingTest {
+public class ErrorReportingTest extends AbstractTestModelTest {
- private InMemoryDataTree tree;
+ private DataTree tree;
@Before
public void setup() {
- tree = InMemoryDataTreeFactory.getInstance().create();
- tree.setSchemaContext(TestModel.createTestContext());
+ tree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT);
}
@Test
public void writeWithoutParentExisting() {
- InMemoryDataTreeModification modification = tree.takeSnapshot().newModification();
+ DataTreeModification modification = tree.takeSnapshot().newModification();
// We write node without creating parent
- modification.write(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME).build());
+ modification.write(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME)
+ .build());
modification.ready();
try {
tree.validate(modification);
@Test
public void parentConcurrentlyDeletedExisting() {
- InMemoryDataTreeModification initial = tree.takeSnapshot().newModification();
+ DataTreeModification 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));
- InMemoryDataTreeModification writeTx = tree.takeSnapshot().newModification();
- InMemoryDataTreeModification deleteTx = tree.takeSnapshot().newModification();
+ final DataTreeModification writeTx = tree.takeSnapshot().newModification();
+ final DataTreeModification deleteTx = tree.takeSnapshot().newModification();
deleteTx.delete(TestModel.TEST_PATH);
deleteTx.ready();
// We commit delete modification
tree.commit(tree.prepare(deleteTx));
writeTx.write(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME).build());
+ writeTx.ready();
try {
tree.validate(writeTx);
fail("ConflictingModificationAppliedException should be raised");
} catch (DataValidationFailedException e) {
fail("ConflictingModificationAppliedException expected");
}
-
}
-
}