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%2FDistributedDataStoreIntegrationTest.java;h=d569f7bedda9ef7dabd8227933da8f6810bb0fe9;hb=9905bf0575ff196a531eb114e89b1bdb7226bc6c;hp=4aa2357a82dd78bc89aa9225142063bde0f32f41;hpb=567da9db91b014415e2a5a005879f21fe03ab129;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java index 4aa2357a82..d569f7bedd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java @@ -8,11 +8,12 @@ package org.opendaylight.controller.cluster.datastore; 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.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; @@ -67,11 +68,11 @@ import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelpe import org.opendaylight.controller.md.cluster.datastore.model.TestModel; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.ReadFailedException; -import org.opendaylight.mdsal.common.api.TransactionChainClosedException; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainClosedException; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.mdsal.dom.spi.store.DOMStore; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; @@ -119,7 +120,7 @@ public class DistributedDataStoreIntegrationTest { @After public void tearDown() { - TestKit.shutdownActorSystem(system, Boolean.TRUE); + TestKit.shutdownActorSystem(system, true); system = null; } @@ -138,6 +139,7 @@ public class DistributedDataStoreIntegrationTest { testKit.testWriteTransaction(dataStore, TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build()); } } @@ -179,11 +181,11 @@ public class DistributedDataStoreIntegrationTest { final DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); Optional> optional = readTx.read(carPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", car, optional.get()); optional = readTx.read(personPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", person, optional.get()); } } @@ -205,10 +207,10 @@ public class DistributedDataStoreIntegrationTest { // 3. Read the data from Tx final Boolean exists = readWriteTx.exists(nodePath).get(5, TimeUnit.SECONDS); - assertEquals("exists", true, exists); + assertEquals("exists", Boolean.TRUE, exists); Optional> optional = readWriteTx.read(nodePath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", nodeToWrite, optional.get()); // 4. Ready the Tx for commit @@ -221,7 +223,7 @@ public class DistributedDataStoreIntegrationTest { final DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); optional = readTx.read(nodePath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", nodeToWrite, optional.get()); } } @@ -258,10 +260,10 @@ public class DistributedDataStoreIntegrationTest { readWriteTx.write(personPath, person); final Boolean exists = readWriteTx.exists(carPath).get(5, TimeUnit.SECONDS); - assertEquals("exists", true, exists); + assertEquals("exists", Boolean.TRUE, exists); Optional> optional = readWriteTx.read(carPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", car, optional.get()); testKit.doCommit(readWriteTx.ready()); @@ -270,11 +272,11 @@ public class DistributedDataStoreIntegrationTest { DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); optional = readTx.read(carPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", car, optional.get()); optional = readTx.read(personPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", person, optional.get()); } } @@ -304,7 +306,7 @@ public class DistributedDataStoreIntegrationTest { final Optional> optional = txChain.newReadOnlyTransaction() .read(CarsModel.CAR_LIST_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("# cars", numCars, ((Collection) optional.get().getValue()).size()); } } @@ -345,6 +347,7 @@ public class DistributedDataStoreIntegrationTest { writeTx.merge(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build()); writeTx.write(listEntryPath, @@ -368,7 +371,7 @@ public class DistributedDataStoreIntegrationTest { throw caughtEx.get(); } - assertEquals("Tx ready", true, done); + assertTrue("Tx ready", done); // At this point the Tx operations should be waiting for the // shard to initialize so @@ -382,13 +385,13 @@ public class DistributedDataStoreIntegrationTest { final DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); Optional> optional = readTx.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); optional = readTx.read(TestModel.OUTER_LIST_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); optional = readTx.read(listEntryPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", false, optional.isPresent()); + assertFalse("isPresent", optional.isPresent()); } } @@ -452,7 +455,7 @@ public class DistributedDataStoreIntegrationTest { throw caughtEx.get(); } - assertEquals("Tx reads done", true, done); + assertTrue("Tx reads done", done); // At this point the Tx operations should be waiting for the // shard to initialize so @@ -460,8 +463,8 @@ public class DistributedDataStoreIntegrationTest { blockRecoveryLatch.countDown(); // Wait for the reads to complete and verify. - assertEquals("exists", true, txExistsFuture.get().get(5, TimeUnit.SECONDS)); - assertEquals("read", true, txReadFuture.get().get(5, TimeUnit.SECONDS).isPresent()); + assertEquals("exists", Boolean.TRUE, txExistsFuture.get().get(5, TimeUnit.SECONDS)); + assertTrue("read", txReadFuture.get().get(5, TimeUnit.SECONDS).isPresent()); readWriteTx.close(); } @@ -516,7 +519,7 @@ public class DistributedDataStoreIntegrationTest { throw caughtEx.get(); } - assertEquals("Tx ready", true, done); + assertTrue("Tx ready", done); // Wait for the commit to complete. Since the shard never // initialized, the Tx should @@ -584,7 +587,7 @@ public class DistributedDataStoreIntegrationTest { throw caughtEx.get(); } - assertEquals("Tx read done", true, done); + assertTrue("Tx read done", done); // Wait for the read to complete. Since the shard never // initialized, the Tx should @@ -659,7 +662,7 @@ public class DistributedDataStoreIntegrationTest { throw caughtEx.get(); } - assertEquals("Tx ready", true, done); + assertTrue("Tx ready", done); // Wait for the commit to complete. Since no shard // leader was elected in time, the Tx @@ -764,13 +767,14 @@ public class DistributedDataStoreIntegrationTest { // Tx is visible after being readied. DOMStoreReadTransaction readTx = txChain.newReadOnlyTransaction(); Optional> optional = readTx.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", testNode, optional.get()); // 6. Create a new RW Tx from the chain, write more data, // and ready it final DOMStoreReadWriteTransaction rwTx = txChain.newReadWriteTransaction(); final MapNode outerNode = ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build(); rwTx.write(TestModel.OUTER_LIST_PATH, outerNode); @@ -781,7 +785,7 @@ public class DistributedDataStoreIntegrationTest { // verify it is visible. readTx = txChain.newReadWriteTransaction(); optional = readTx.read(TestModel.OUTER_LIST_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", outerNode, optional.get()); // 8. Wait for the 2 commits to complete and close the @@ -801,7 +805,7 @@ public class DistributedDataStoreIntegrationTest { // committed data. readTx = dataStore.newReadOnlyTransaction(); optional = readTx.read(TestModel.OUTER_LIST_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", outerNode, optional.get()); } } @@ -836,11 +840,11 @@ public class DistributedDataStoreIntegrationTest { readWriteTx.merge(personPath, person); Optional> optional = readWriteTx.read(carPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", car, optional.get()); optional = readWriteTx.read(personPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", person, optional.get()); final DOMStoreThreePhaseCommitCohort cohort2 = readWriteTx.ready(); @@ -863,10 +867,10 @@ public class DistributedDataStoreIntegrationTest { final DOMStoreReadTransaction readTx = dataStore.newReadOnlyTransaction(); optional = readTx.read(carPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", false, optional.isPresent()); + assertFalse("isPresent", optional.isPresent()); optional = readTx.read(personPath).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", person, optional.get()); } } @@ -882,7 +886,7 @@ public class DistributedDataStoreIntegrationTest { .put(LogicalDatastoreType.CONFIGURATION, dataStore).build(), MoreExecutors.directExecutor()); - final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); + final DOMTransactionChainListener listener = Mockito.mock(DOMTransactionChainListener.class); DOMTransactionChain txChain = broker.createTransactionChain(listener); final List> futures = new ArrayList<>(); @@ -908,7 +912,7 @@ public class DistributedDataStoreIntegrationTest { final Optional> optional = txChain.newReadOnlyTransaction() .read(LogicalDatastoreType.CONFIGURATION, CarsModel.CAR_LIST_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("# cars", numCars, ((Collection) optional.get().getValue()).size()); txChain.close(); @@ -931,9 +935,8 @@ public class DistributedDataStoreIntegrationTest { final DOMStoreReadWriteTransaction rwTx2 = txChain.newReadWriteTransaction(); - final Optional> optional = rwTx2.read(TestModel.TEST_PATH).get( - 5, TimeUnit.SECONDS); - assertEquals("isPresent", false, optional.isPresent()); + final Optional> optional = rwTx2.read(TestModel.TEST_PATH).get(5, TimeUnit.SECONDS); + assertFalse("isPresent", optional.isPresent()); txChain.close(); } @@ -970,7 +973,7 @@ public class DistributedDataStoreIntegrationTest { // Try to create another Tx of each type - should fail b/c // the previous Tx was closed. - testKit.assertExceptionOnTxChainCreates(txChain, TransactionChainClosedException.class); + testKit.assertExceptionOnTxChainCreates(txChain, DOMTransactionChainClosedException.class); } } @@ -998,12 +1001,13 @@ public class DistributedDataStoreIntegrationTest { DOMStoreWriteTransaction writeTx2 = txChain.newWriteOnlyTransaction(); writeTx2.write(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build()); // Ensure the reads succeed. - assertEquals("isPresent", true, readFuture1.get(5, TimeUnit.SECONDS).isPresent()); - assertEquals("isPresent", true, readFuture2.get(5, TimeUnit.SECONDS).isPresent()); + assertTrue("isPresent", readFuture1.get(5, TimeUnit.SECONDS).isPresent()); + assertTrue("isPresent", readFuture2.get(5, TimeUnit.SECONDS).isPresent()); // Ensure the writes succeed. DOMStoreThreePhaseCommitCohort cohort2 = writeTx2.ready(); @@ -1011,7 +1015,7 @@ public class DistributedDataStoreIntegrationTest { testKit.doCommit(cohort1); testKit.doCommit(cohort2); - assertEquals("isPresent", true, txChain.newReadOnlyTransaction().read(TestModel.OUTER_LIST_PATH) + assertTrue("isPresent", txChain.newReadOnlyTransaction().read(TestModel.OUTER_LIST_PATH) .get(5, TimeUnit.SECONDS).isPresent()); } } @@ -1027,7 +1031,7 @@ public class DistributedDataStoreIntegrationTest { .put(LogicalDatastoreType.CONFIGURATION, dataStore).build(), MoreExecutors.directExecutor()); - final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); + final DOMTransactionChainListener listener = Mockito.mock(DOMTransactionChainListener.class); final DOMTransactionChain txChain = broker.createTransactionChain(listener); final DOMDataTreeReadWriteTransaction writeTx = txChain.newReadWriteTransaction(); @@ -1067,7 +1071,7 @@ public class DistributedDataStoreIntegrationTest { .put(LogicalDatastoreType.CONFIGURATION, dataStore).build(), MoreExecutors.directExecutor()); - final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); + final DOMTransactionChainListener listener = Mockito.mock(DOMTransactionChainListener.class); final DOMTransactionChain txChain = broker.createTransactionChain(listener); final DOMDataTreeWriteTransaction writeTx = txChain.newReadWriteTransaction(); @@ -1126,6 +1130,7 @@ public class DistributedDataStoreIntegrationTest { // Write 2 updates. testKit.testWriteTransaction(dataStore, TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build()); YangInstanceIdentifier listPath = YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH) @@ -1191,11 +1196,11 @@ public class DistributedDataStoreIntegrationTest { // two reads Optional> optional = readTx.read(CarsModel.BASE_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", carsNode, optional.get()); optional = readTx.read(PeopleModel.BASE_PATH).get(5, TimeUnit.SECONDS); - assertEquals("isPresent", true, optional.isPresent()); + assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", peopleNode, optional.get()); } }