Migrate AbstractProxyTransactionTest to MockitoJUnitRunner
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / AbstractShardManagerTest.java
index f6f45b0b2ff682da91fdaa0e29f065592ce733b1..e7a58a54485c705d721b27809b3e63ca6cc6d8ed 100644 (file)
@@ -8,17 +8,18 @@
 
 package org.opendaylight.controller.cluster.datastore;
 
+import static org.awaitility.Awaitility.await;
 import static org.mockito.Mockito.mock;
 import static org.mockito.MockitoAnnotations.initMocks;
 
 import akka.actor.ActorRef;
 import akka.actor.PoisonPill;
 import akka.actor.Props;
-import java.util.concurrent.CountDownLatch;
+import com.google.common.util.concurrent.SettableFuture;
+import java.time.Duration;
 import java.util.concurrent.TimeUnit;
 import org.junit.After;
 import org.junit.Before;
-import org.mockito.Mock;
 import org.opendaylight.controller.cluster.access.concepts.MemberName;
 import org.opendaylight.controller.cluster.datastore.config.Configuration;
 import org.opendaylight.controller.cluster.datastore.identifiers.ShardIdentifier;
@@ -42,8 +43,7 @@ public class AbstractShardManagerTest extends AbstractClusterRefActorTest {
             .dataStoreName(shardMrgIDSuffix).shardInitializationTimeout(600, TimeUnit.MILLISECONDS)
             .shardHeartbeatIntervalInMillis(100).shardElectionTimeoutFactor(6);
 
-    @Mock
-    protected static CountDownLatch ready;
+    protected static SettableFuture<Void> ready;
 
     protected TestShardManager.Builder newTestShardMgrBuilder() {
         return TestShardManager.builder(datastoreContextBuilder).distributedDataStore(mock(DistributedDataStore.class));
@@ -55,12 +55,13 @@ public class AbstractShardManagerTest extends AbstractClusterRefActorTest {
     }
 
     protected Props newShardMgrProps(final Configuration config) {
-        return newTestShardMgrBuilder(config).waitTillReadyCountDownLatch(ready).props();
+        return newTestShardMgrBuilder(config).readinessFuture(ready).props();
     }
 
     @Before
-    public void setUp() throws Exception {
+    public void setUp() {
         initMocks(this);
+        ready = SettableFuture.create();
 
         InMemoryJournal.clear();
         InMemorySnapshotStore.clear();
@@ -79,6 +80,7 @@ public class AbstractShardManagerTest extends AbstractClusterRefActorTest {
         InMemorySnapshotStore.clear();
 
         mockShardActor.tell(PoisonPill.getInstance(), ActorRef.noSender());
+        await().atMost(Duration.ofSeconds(10)).until(mockShardActor::isTerminated);
         mockShardActor = null;
 
         actorFactory.close();