BUG-8704: rework seal mechanics to not wait during replay
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / databroker / actors / dds / LocalReadWriteProxyTransactionTest.java
index 9cec79c9f8d5897ddcc22065976463b444576887..cbd9f3da3ed6e0c803c2df15a57315bfdf09f951 100644 (file)
@@ -16,6 +16,7 @@ import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtil
 import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.assertOperationThrowsException;
 
 import akka.testkit.TestProbe;
+import com.google.common.base.Ticker;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.function.Consumer;
 import org.junit.Assert;
@@ -136,9 +137,9 @@ public class LocalReadWriteProxyTransactionTest extends LocalProxyTransactionTes
     }
 
     @Test
-    public void testDoSeal() throws Exception {
+    public void testSealOnly() throws Exception {
         assertOperationThrowsException(() -> transaction.getSnapshot(), IllegalStateException.class);
-        transaction.doSeal();
+        transaction.sealOnly();
         Assert.assertEquals(modification, transaction.getSnapshot());
     }
 
@@ -146,8 +147,8 @@ public class LocalReadWriteProxyTransactionTest extends LocalProxyTransactionTes
     public void testFlushState() throws Exception {
         final TransactionTester<RemoteProxyTransaction> transactionTester = createRemoteProxyTransactionTester();
         final RemoteProxyTransaction successor = transactionTester.getTransaction();
-        doAnswer(this::applyToCursorAnswer).when(modification).applyToCursor(any());
-        transaction.doSeal();
+        doAnswer(LocalProxyTransactionTest::applyToCursorAnswer).when(modification).applyToCursor(any());
+        transaction.sealOnly();
         transaction.flushState(successor);
         verify(modification).applyToCursor(any());
         transactionTester.getTransaction().seal();
@@ -176,8 +177,8 @@ public class LocalReadWriteProxyTransactionTest extends LocalProxyTransactionTes
         builder.setAbort();
         final ModifyTransactionRequest request = builder.build();
         final Consumer<Response<?, ?>> callback = createCallbackMock();
-        transaction.applyModifyTransactionRequest(request, callback);
-        getTester().expectTransactionRequest(TransactionAbortRequest.class);
+        transaction.replayModifyTransactionRequest(request, callback, Ticker.systemTicker().read());
+        getTester().expectTransactionRequest(AbortLocalTransactionRequest.class);
     }
 
     @Test
@@ -235,7 +236,7 @@ public class LocalReadWriteProxyTransactionTest extends LocalProxyTransactionTes
         builder.setCommit(coordinated);
         final ModifyTransactionRequest request = builder.build();
         final Consumer<Response<?, ?>> callback = createCallbackMock();
-        transaction.applyModifyTransactionRequest(request, callback);
+        transaction.replayModifyTransactionRequest(request, callback, Ticker.systemTicker().read());
         verify(modification).write(PATH_1, DATA_1);
         verify(modification).merge(PATH_2, DATA_2);
         verify(modification).delete(PATH_3);
@@ -245,4 +246,4 @@ public class LocalReadWriteProxyTransactionTest extends LocalProxyTransactionTes
         Assert.assertEquals(coordinated, commitRequest.isCoordinated());
     }
 
-}
\ No newline at end of file
+}