Specify initial serialization buffer capacity for Payloads
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / DistributedDataStoreIntegrationTest.java
index 4aa2357a82dd78bc89aa9225142063bde0f32f41..d569f7bedda9ef7dabd8227933da8f6810bb0fe9 100644 (file)
@@ -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<NormalizedNode<?, ?>> 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<NormalizedNode<?, ?>> 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<NormalizedNode<?, ?>> 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<NormalizedNode<?, ?>> 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<NormalizedNode<?, ?>> 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<NormalizedNode<?, ?>> 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<NormalizedNode<?, ?>> 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<ListenableFuture<?>> futures = new ArrayList<>();
@@ -908,7 +912,7 @@ public class DistributedDataStoreIntegrationTest {
 
             final Optional<NormalizedNode<?, ?>> 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<NormalizedNode<?, ?>> optional = rwTx2.read(TestModel.TEST_PATH).get(
-                5, TimeUnit.SECONDS);
-            assertEquals("isPresent", false, optional.isPresent());
+            final Optional<NormalizedNode<?, ?>> 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<NormalizedNode<?, ?>> 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());
         }
     }