X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FShardRecoveryCoordinatorTest.java;h=142af6f5ed10297c0cf32a6a6c6f8f3457768e1f;hb=3115b8171461584e85f58d87a9f179013cfbb262;hp=736e29170364bf0af6a6f3ecdffcdcd69125311d;hpb=2faf656bf68dd3843fd59520b27a7ec2abbdcc68;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinatorTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinatorTest.java index 736e291703..142af6f5ed 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinatorTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardRecoveryCoordinatorTest.java @@ -5,14 +5,14 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.cluster.datastore; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import com.google.common.base.Optional; import java.io.IOException; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; @@ -24,21 +24,25 @@ import org.opendaylight.controller.md.cluster.datastore.model.PeopleModel; import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateTip; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; -import org.opendaylight.yangtools.yang.data.api.schema.tree.TipProducingDataTree; import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType; import org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaValidationFailedException; import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ShardRecoveryCoordinatorTest extends AbstractTest { + private static final Logger FOO_LOGGER = LoggerFactory.getLogger("foo"); private ShardDataTree peopleDataTree; private SchemaContext peopleSchemaContext; private SchemaContext carsSchemaContext; + private ShardRecoveryCoordinator coordinator; @Before public void setUp() { @@ -48,28 +52,12 @@ public class ShardRecoveryCoordinatorTest extends AbstractTest { final Shard mockShard = Mockito.mock(Shard.class); peopleDataTree = new ShardDataTree(mockShard, peopleSchemaContext, TreeType.OPERATIONAL); - } - - @Deprecated - @Test - public void testAppendRecoveredLogEntryDataTreeCandidatePayload() { - final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree, - null, "foobar", LoggerFactory.getLogger("foo")); + coordinator = ShardRecoveryCoordinator.create(peopleDataTree, "foobar", FOO_LOGGER); coordinator.startLogRecoveryBatch(10); - try { - coordinator.appendRecoveredLogEntry(DataTreeCandidatePayload.create(createCar())); - } catch (final SchemaValidationFailedException e) { - fail("SchemaValidationFailedException should not happen if pruning is done"); - } - - coordinator.applyCurrentLogRecoveryBatch(); } @Test public void testAppendRecoveredLogEntryCommitTransactionPayload() throws IOException { - final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree, - null, "foobar", LoggerFactory.getLogger("foo")); - coordinator.startLogRecoveryBatch(10); try { coordinator.appendRecoveredLogEntry(CommitTransactionPayload.create(nextTransactionId(), createCar())); } catch (final SchemaValidationFailedException e) { @@ -81,23 +69,15 @@ public class ShardRecoveryCoordinatorTest extends AbstractTest { @Test public void testApplyRecoverySnapshot() { - final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree, - null, "foobar", LoggerFactory.getLogger("foo")); - coordinator.startLogRecoveryBatch(10); - coordinator.applyRecoverySnapshot(createSnapshot()); - assertEquals(false, readCars(peopleDataTree).isPresent()); - assertEquals(true, readPeople(peopleDataTree).isPresent()); + assertFalse(readCars(peopleDataTree).isPresent()); + assertTrue(readPeople(peopleDataTree).isPresent()); } @Test public void testApplyCurrentLogRecoveryBatch() { - final ShardRecoveryCoordinator coordinator = new ShardRecoveryCoordinator(peopleDataTree, - null, "foobar", LoggerFactory.getLogger("foo")); - coordinator.startLogRecoveryBatch(10); - try { coordinator.applyCurrentLogRecoveryBatch(); } catch (final IllegalArgumentException e) { @@ -105,9 +85,9 @@ public class ShardRecoveryCoordinatorTest extends AbstractTest { } } - private DataTreeCandidateTip createCar() { - final TipProducingDataTree dataTree = InMemoryDataTreeFactory.getInstance().create(TreeType.OPERATIONAL); - dataTree.setSchemaContext(carsSchemaContext); + private DataTreeCandidate createCar() { + final DataTree dataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_OPERATIONAL, carsSchemaContext); final DataTreeSnapshot snapshot = dataTree.takeSnapshot(); @@ -119,7 +99,7 @@ public class ShardRecoveryCoordinatorTest extends AbstractTest { } private Optional> readCars(final ShardDataTree shardDataTree) { - final TipProducingDataTree dataTree = shardDataTree.getDataTree(); + final DataTree dataTree = shardDataTree.getDataTree(); // FIXME: this should not be called here dataTree.setSchemaContext(peopleSchemaContext); @@ -127,7 +107,7 @@ public class ShardRecoveryCoordinatorTest extends AbstractTest { } private Optional> readPeople(final ShardDataTree shardDataTree) { - final TipProducingDataTree dataTree = shardDataTree.getDataTree(); + final DataTree dataTree = shardDataTree.getDataTree(); // FIXME: this should not be called here dataTree.setSchemaContext(peopleSchemaContext); @@ -135,8 +115,8 @@ public class ShardRecoveryCoordinatorTest extends AbstractTest { } private static ShardSnapshotState createSnapshot() { - final TipProducingDataTree dataTree = InMemoryDataTreeFactory.getInstance().create(TreeType.OPERATIONAL); - dataTree.setSchemaContext(SchemaContextHelper.select(SchemaContextHelper.CARS_YANG, + final DataTree dataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_OPERATIONAL, SchemaContextHelper.select(SchemaContextHelper.CARS_YANG, SchemaContextHelper.PEOPLE_YANG)); DataTreeSnapshot snapshot = dataTree.takeSnapshot();