Refactor TransactionContext.executeModification()
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / RemoteTransactionContextTest.java
index 526ad77b78eb3c34fdbb67fbd9a760ff2c31237b..6eedc7d8add6a9a9e6495234f8c3f81262dac0c6 100644 (file)
@@ -34,8 +34,7 @@ import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier
 import org.opendaylight.controller.cluster.datastore.config.Configuration;
 import org.opendaylight.controller.cluster.datastore.messages.BatchedModifications;
 import org.opendaylight.controller.cluster.datastore.messages.DataExists;
-import org.opendaylight.controller.cluster.datastore.modification.DeleteModification;
-import org.opendaylight.controller.cluster.datastore.utils.ActorContext;
+import org.opendaylight.controller.cluster.datastore.utils.ActorUtils;
 import scala.concurrent.Await;
 import scala.concurrent.Future;
 import scala.concurrent.duration.FiniteDuration;
@@ -47,20 +46,19 @@ public class RemoteTransactionContextTest extends AbstractActorTest {
     private static final TransactionIdentifier TX_ID = new TransactionIdentifier(new LocalHistoryIdentifier(
         ClientIdentifier.create(FrontendIdentifier.create(MemberName.forName("test"), FrontendType.forName("test")), 0),
         0), 0);
-    private static final DeleteModification DELETE = new DeleteModification(DataStoreVersions.CURRENT_VERSION);
 
     private OperationLimiter limiter;
     private RemoteTransactionContext txContext;
-    private ActorContext actorContext;
+    private ActorUtils actorUtils;
     private TestKit kit;
 
     @Before
     public void before() {
         kit = new TestKit(getSystem());
-        actorContext = Mockito.spy(new ActorContext(getSystem(), kit.getRef(), mock(ClusterWrapper.class),
+        actorUtils = Mockito.spy(new ActorUtils(getSystem(), kit.getRef(), mock(ClusterWrapper.class),
             mock(Configuration.class)));
         limiter = new OperationLimiter(TX_ID, 4, 0);
-        txContext = new RemoteTransactionContext(TX_ID, actorContext.actorSelection(kit.getRef().path()), actorContext,
+        txContext = new RemoteTransactionContext(TX_ID, actorUtils.actorSelection(kit.getRef().path()), actorUtils,
             DataStoreVersions.CURRENT_VERSION, limiter);
         txContext.operationHandOffComplete();
     }
@@ -72,30 +70,30 @@ public class RemoteTransactionContextTest extends AbstractActorTest {
      */
     @Test
     public void testLimiterOnFailure() throws TimeoutException, InterruptedException {
-        txContext.executeModification(DELETE);
-        txContext.executeModification(DELETE);
+        txContext.executeDelete(null, null);
+        txContext.executeDelete(null, null);
         assertEquals(2, limiter.availablePermits());
 
-        Future<Object> future = txContext.sendBatchedModifications();
+        final Future<Object> sendFuture = txContext.sendBatchedModifications();
         assertEquals(2, limiter.availablePermits());
 
         BatchedModifications msg = kit.expectMsgClass(BatchedModifications.class);
         assertEquals(2, msg.getModifications().size());
         assertEquals(1, msg.getTotalMessagesSent());
         sendReply(new Failure(new NullPointerException()));
-        assertFuture(future, new OnComplete<Object>() {
+        assertFuture(sendFuture, new OnComplete<>() {
             @Override
             public void onComplete(final Throwable failure, final Object success) {
                 assertTrue(failure instanceof NullPointerException);
                 assertEquals(4, limiter.availablePermits());
 
                 // The transaction has failed, no throttling should occur
-                txContext.executeModification(DELETE);
+                txContext.executeDelete(null, null);
                 assertEquals(4, limiter.availablePermits());
 
                 // Executing a read should result in immediate failure
                 final SettableFuture<Boolean> readFuture = SettableFuture.create();
-                txContext.executeRead(new DataExists(), readFuture);
+                txContext.executeRead(new DataExists(), readFuture, null);
                 assertTrue(readFuture.isDone());
                 try {
                     readFuture.get();
@@ -106,7 +104,7 @@ public class RemoteTransactionContextTest extends AbstractActorTest {
             }
         });
 
-        future = txContext.directCommit();
+        final Future<Object> commitFuture = txContext.directCommit(null);
 
         msg = kit.expectMsgClass(BatchedModifications.class);
         // Modification should have been thrown away by the dropped transmit induced by executeRead()
@@ -115,14 +113,14 @@ public class RemoteTransactionContextTest extends AbstractActorTest {
         assertTrue(msg.isReady());
         assertEquals(2, msg.getTotalMessagesSent());
         sendReply(new Failure(new IllegalStateException()));
-        assertFuture(future, new OnComplete<Object>() {
+        assertFuture(commitFuture, new OnComplete<>() {
             @Override
             public void onComplete(final Throwable failure, final Object success) {
                 assertTrue(failure instanceof IllegalStateException);
             }
         });
 
-        kit.expectNoMsg();
+        kit.expectNoMessage();
     }
 
     /**
@@ -131,16 +129,16 @@ public class RemoteTransactionContextTest extends AbstractActorTest {
      */
     @Test
     public void testLimiterOnOverflowFailure() throws TimeoutException, InterruptedException {
-        txContext.executeModification(DELETE);
-        txContext.executeModification(DELETE);
-        txContext.executeModification(DELETE);
-        txContext.executeModification(DELETE);
+        txContext.executeDelete(null, null);
+        txContext.executeDelete(null, null);
+        txContext.executeDelete(null, null);
+        txContext.executeDelete(null, null);
         assertEquals(0, limiter.availablePermits());
-        txContext.executeModification(DELETE);
+        txContext.executeDelete(null, null);
         // Last acquire should have failed ...
         assertEquals(0, limiter.availablePermits());
 
-        Future<Object> future = txContext.sendBatchedModifications();
+        final Future<Object> future = txContext.sendBatchedModifications();
         assertEquals(0, limiter.availablePermits());
 
         BatchedModifications msg = kit.expectMsgClass(BatchedModifications.class);
@@ -149,7 +147,7 @@ public class RemoteTransactionContextTest extends AbstractActorTest {
         assertEquals(1, msg.getTotalMessagesSent());
         sendReply(new Failure(new NullPointerException()));
 
-        assertFuture(future, new OnComplete<Object>() {
+        assertFuture(future, new OnComplete<>() {
             @Override
             public void onComplete(final Throwable failure, final Object success) {
                 assertTrue(failure instanceof NullPointerException);
@@ -158,7 +156,7 @@ public class RemoteTransactionContextTest extends AbstractActorTest {
             }
         });
 
-        kit.expectNoMsg();
+        kit.expectNoMessage();
     }
 
     private void sendReply(final Object message) {