Migrate isFoo() callers
[controller.git] / opendaylight / md-sal / sal-cluster-admin-impl / src / test / java / org / opendaylight / controller / cluster / datastore / admin / ClusterAdminRpcServiceTest.java
index 6aebe06a23941b7ee0d0e756942956bdd390db28..9703ebc4873ea675c6940da9472f100d8311ced6 100644 (file)
@@ -11,11 +11,11 @@ import static java.lang.Boolean.FALSE;
 import static java.lang.Boolean.TRUE;
 import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.opendaylight.controller.cluster.datastore.MemberNode.verifyNoShardPresent;
@@ -26,7 +26,6 @@ import akka.actor.ActorRef;
 import akka.actor.PoisonPill;
 import akka.actor.Status.Success;
 import akka.cluster.Cluster;
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
@@ -44,6 +43,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import org.apache.commons.lang3.SerializationUtils;
@@ -114,6 +114,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.member.voting.states.input.MemberVotingStateBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResult;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResultBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResultKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcError;
 import org.opendaylight.yangtools.yang.common.RpcResult;
@@ -165,18 +166,18 @@ public class ClusterAdminRpcServiceTest {
 
             ImmutableMap<String, DatastoreSnapshot> map = ImmutableMap.of(snapshots.get(0).getType(), snapshots.get(0),
                     snapshots.get(1).getType(), snapshots.get(1));
-            verifyDatastoreSnapshot(node.configDataStore().getActorContext().getDataStoreName(),
-                    map.get(node.configDataStore().getActorContext().getDataStoreName()), "cars", "people");
+            verifyDatastoreSnapshot(node.configDataStore().getActorUtils().getDataStoreName(),
+                    map.get(node.configDataStore().getActorUtils().getDataStoreName()), "cars", "people");
         } finally {
             new File(fileName).delete();
         }
 
         // Test failure by killing a shard.
 
-        node.configDataStore().getActorContext().getShardManager().tell(node.datastoreContextBuilder()
+        node.configDataStore().getActorUtils().getShardManager().tell(node.datastoreContextBuilder()
                 .shardInitializationTimeout(200, TimeUnit.MILLISECONDS).build(), ActorRef.noSender());
 
-        ActorRef carsShardActor = node.configDataStore().getActorContext().findLocalShard("cars").get();
+        ActorRef carsShardActor = node.configDataStore().getActorUtils().findLocalShard("cars").get();
         node.kit().watch(carsShardActor);
         carsShardActor.tell(PoisonPill.getInstance(), ActorRef.noSender());
         node.kit().expectTerminated(carsShardActor);
@@ -214,14 +215,14 @@ public class ClusterAdminRpcServiceTest {
         replicaNode2.kit().waitForMembersUp("member-1", "member-3");
         replicaNode3.kit().waitForMembersUp("member-1", "member-2");
 
-        final ActorRef shardManager1 = member1.configDataStore().getActorContext().getShardManager();
+        final ActorRef shardManager1 = member1.configDataStore().getActorUtils().getShardManager();
 
         shardManager1.tell(new PrefixShardCreated(new PrefixShardConfiguration(
                         new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH),
                         "prefix", Collections.singleton(MEMBER_1))),
                 ActorRef.noSender());
 
-        member1.kit().waitUntilLeader(member1.configDataStore().getActorContext(),
+        member1.kit().waitUntilLeader(member1.configDataStore().getActorUtils(),
                 ClusterUtils.getCleanShardName(CarsModel.BASE_PATH));
 
         final InstanceIdentifier<Cars> identifier = InstanceIdentifier.create(Cars.class);
@@ -258,7 +259,7 @@ public class ClusterAdminRpcServiceTest {
         final MemberNode member1 = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name)
                 .moduleShardsConfig(moduleShardsConfig).build();
 
-        member1.kit().waitUntilLeader(member1.configDataStore().getActorContext(), "default");
+        member1.kit().waitUntilLeader(member1.configDataStore().getActorUtils(), "default");
 
         final RpcResult<GetShardRoleOutput> successResult =
                 getShardRole(member1, Mockito.mock(BindingNormalizedNodeSerializer.class), "default");
@@ -270,14 +271,14 @@ public class ClusterAdminRpcServiceTest {
 
         verifyFailedRpcResult(failedResult);
 
-        final ActorRef shardManager1 = member1.configDataStore().getActorContext().getShardManager();
+        final ActorRef shardManager1 = member1.configDataStore().getActorUtils().getShardManager();
 
         shardManager1.tell(new PrefixShardCreated(new PrefixShardConfiguration(
                         new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH),
                         "prefix", Collections.singleton(MEMBER_1))),
                 ActorRef.noSender());
 
-        member1.kit().waitUntilLeader(member1.configDataStore().getActorContext(),
+        member1.kit().waitUntilLeader(member1.configDataStore().getActorUtils(),
                 ClusterUtils.getCleanShardName(CarsModel.BASE_PATH));
 
         final InstanceIdentifier<Cars> identifier = InstanceIdentifier.create(Cars.class);
@@ -307,7 +308,7 @@ public class ClusterAdminRpcServiceTest {
         final MemberNode member1 = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name)
                 .moduleShardsConfig(moduleShardsConfig).build();
 
-        member1.kit().waitUntilLeader(member1.configDataStore().getActorContext(), "default");
+        member1.kit().waitUntilLeader(member1.configDataStore().getActorUtils(), "default");
 
 
     }
@@ -389,8 +390,8 @@ public class ClusterAdminRpcServiceTest {
         // 2 ServerConfigurationPayload entries,  the transaction payload entry plus a purge payload.
 
         RaftStateVerifier verifier = raftState -> {
-            assertEquals("Commit index", 3, raftState.getCommitIndex());
-            assertEquals("Last applied index", 3, raftState.getLastApplied());
+            assertEquals("Commit index", 4, raftState.getCommitIndex());
+            assertEquals("Last applied index", 4, raftState.getLastApplied());
         };
 
         verifyRaftState(leaderNode1.configDataStore(), "cars", verifier);
@@ -454,8 +455,8 @@ public class ClusterAdminRpcServiceTest {
 
     private static void readCarsNodeAndVerify(final AbstractDataStore readFromStore,
             final NormalizedNode<?, ?> expCarsNode) throws Exception {
-        java.util.Optional<NormalizedNode<?, ?>> optional = readFromStore.newReadOnlyTransaction()
-                .read(CarsModel.BASE_PATH).get(15, TimeUnit.SECONDS);
+        Optional<NormalizedNode<?, ?>> optional = readFromStore.newReadOnlyTransaction().read(CarsModel.BASE_PATH)
+                .get(15, TimeUnit.SECONDS);
         assertTrue("isPresent", optional.isPresent());
         assertEquals("Data node", expCarsNode, optional.get());
     }
@@ -506,7 +507,7 @@ public class ClusterAdminRpcServiceTest {
         verifySuccessfulRpcResult(rpcResult);
 
         verifyRaftPeersPresent(memberNode.configDataStore(), shardName, peerMemberNames);
-        Optional<ActorRef> optional = memberNode.configDataStore().getActorContext().findLocalShard(shardName);
+        Optional<ActorRef> optional = memberNode.configDataStore().getActorUtils().findLocalShard(shardName);
         assertTrue("Replica shard not present", optional.isPresent());
     }
 
@@ -541,7 +542,7 @@ public class ClusterAdminRpcServiceTest {
 
         verifyRaftPeersPresent(memberNode.configDataStore(), shardName, peerMemberNames);
 
-        Optional<ActorRef> optional = memberNode.operDataStore().getActorContext().findLocalShard(shardName);
+        Optional<ActorRef> optional = memberNode.operDataStore().getActorUtils().findLocalShard(shardName);
         assertFalse("Oper shard present", optional.isPresent());
 
         rpcResult = service.addShardReplica(new AddShardReplicaInputBuilder().setShardName(shardName)
@@ -697,10 +698,10 @@ public class ClusterAdminRpcServiceTest {
         ModuleShardConfiguration petsModuleConfig = new ModuleShardConfiguration(URI.create("pets-ns"), "pets-module",
                                                                                  "pets", null,
                                                                                  Collections.singletonList(MEMBER_1));
-        leaderNode1.configDataStore().getActorContext().getShardManager().tell(
+        leaderNode1.configDataStore().getActorUtils().getShardManager().tell(
                 new CreateShard(petsModuleConfig, Shard.builder(), null), leaderNode1.kit().getRef());
         leaderNode1.kit().expectMsgClass(Success.class);
-        leaderNode1.kit().waitUntilLeader(leaderNode1.configDataStore().getActorContext(), "pets");
+        leaderNode1.kit().waitUntilLeader(leaderNode1.configDataStore().getActorUtils(), "pets");
 
         MemberNode newReplicaNode2 = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name)
                 .moduleShardsConfig(moduleShardsConfig).build();
@@ -708,11 +709,11 @@ public class ClusterAdminRpcServiceTest {
         leaderNode1.waitForMembersUp("member-2");
         newReplicaNode2.waitForMembersUp("member-1");
 
-        newReplicaNode2.configDataStore().getActorContext().getShardManager().tell(
+        newReplicaNode2.configDataStore().getActorUtils().getShardManager().tell(
                 new CreateShard(petsModuleConfig, Shard.builder(), null), newReplicaNode2.kit().getRef());
         newReplicaNode2.kit().expectMsgClass(Success.class);
 
-        newReplicaNode2.operDataStore().getActorContext().getShardManager().tell(
+        newReplicaNode2.operDataStore().getActorUtils().getShardManager().tell(
                 new CreateShard(new ModuleShardConfiguration(URI.create("no-leader-ns"), "no-leader-module",
                                                              "no-leader", null,
                                                              Collections.singletonList(MEMBER_1)),
@@ -762,15 +763,15 @@ public class ClusterAdminRpcServiceTest {
 
         ModuleShardConfiguration petsModuleConfig = new ModuleShardConfiguration(URI.create("pets-ns"), "pets-module",
                 "pets", null, Arrays.asList(MEMBER_1, MEMBER_2, MEMBER_3));
-        leaderNode1.configDataStore().getActorContext().getShardManager().tell(
+        leaderNode1.configDataStore().getActorUtils().getShardManager().tell(
                 new CreateShard(petsModuleConfig, Shard.builder(), null), leaderNode1.kit().getRef());
         leaderNode1.kit().expectMsgClass(Success.class);
 
-        replicaNode2.configDataStore().getActorContext().getShardManager().tell(
+        replicaNode2.configDataStore().getActorUtils().getShardManager().tell(
                 new CreateShard(petsModuleConfig, Shard.builder(), null), replicaNode2.kit().getRef());
         replicaNode2.kit().expectMsgClass(Success.class);
 
-        replicaNode3.configDataStore().getActorContext().getShardManager().tell(
+        replicaNode3.configDataStore().getActorUtils().getShardManager().tell(
                 new CreateShard(petsModuleConfig, Shard.builder(), null), replicaNode3.kit().getRef());
         replicaNode3.kit().expectMsgClass(Success.class);
 
@@ -933,8 +934,8 @@ public class ClusterAdminRpcServiceTest {
 
         String moduleShardsConfig = "module-shards-member1-and-2-and-3.conf";
         final MemberNode leaderNode1 = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name)
-                .moduleShardsConfig(moduleShardsConfig).datastoreContextBuilder(
-                        DatastoreContext.newBuilder().shardHeartbeatIntervalInMillis(300).shardElectionTimeoutFactor(1))
+                .moduleShardsConfig(moduleShardsConfig).datastoreContextBuilder(DatastoreContext.newBuilder()
+                        .shardHeartbeatIntervalInMillis(100).shardElectionTimeoutFactor(10))
                 .build();
 
         final MemberNode replicaNode2 = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name)
@@ -971,13 +972,13 @@ public class ClusterAdminRpcServiceTest {
         // Leadership should have transferred to member 3 since it is the only remaining voting member.
         verifyRaftState(leaderNode1.configDataStore(), "cars", raftState -> {
             assertNotNull("Expected non-null leader Id", raftState.getLeader());
-            assertTrue("Expected leader member-1. Actual: " + raftState.getLeader(),
+            assertTrue("Expected leader member-3. Actual: " + raftState.getLeader(),
                     raftState.getLeader().contains("member-3"));
         });
 
         verifyRaftState(leaderNode1.operDataStore(), "cars", raftState -> {
             assertNotNull("Expected non-null leader Id", raftState.getLeader());
-            assertTrue("Expected leader member-1. Actual: " + raftState.getLeader(),
+            assertTrue("Expected leader member-3. Actual: " + raftState.getLeader(),
                     raftState.getLeader().contains("member-3"));
         });
 
@@ -1173,16 +1174,16 @@ public class ClusterAdminRpcServiceTest {
     @SafeVarargs
     private static void verifyVotingStates(final AbstractDataStore datastore, final String shardName,
             final SimpleEntry<String, Boolean>... expStates) throws Exception {
-        String localMemberName = datastore.getActorContext().getCurrentMemberName().getName();
+        String localMemberName = datastore.getActorUtils().getCurrentMemberName().getName();
         Map<String, Boolean> expStateMap = new HashMap<>();
         for (Entry<String, Boolean> e: expStates) {
             expStateMap.put(ShardIdentifier.create(shardName, MemberName.forName(e.getKey()),
-                    datastore.getActorContext().getDataStoreName()).toString(), e.getValue());
+                    datastore.getActorUtils().getDataStoreName()).toString(), e.getValue());
         }
 
         verifyRaftState(datastore, shardName, raftState -> {
             String localPeerId = ShardIdentifier.create(shardName, MemberName.forName(localMemberName),
-                    datastore.getActorContext().getDataStoreName()).toString();
+                    datastore.getActorUtils().getDataStoreName()).toString();
             assertEquals("Voting state for " + localPeerId, expStateMap.get(localPeerId), raftState.isVoting());
             for (Entry<String, Boolean> e: raftState.getPeerVotingStates().entrySet()) {
                 assertEquals("Voting state for " + e.getKey(), expStateMap.get(e.getKey()), e.getValue());
@@ -1190,18 +1191,19 @@ public class ClusterAdminRpcServiceTest {
         });
     }
 
-    private static void verifyShardResults(final List<ShardResult> shardResults, final ShardResult... expShardResults) {
+    private static void verifyShardResults(final Map<ShardResultKey, ShardResult> shardResults,
+            final ShardResult... expShardResults) {
         Map<String, ShardResult> expResultsMap = new HashMap<>();
         for (ShardResult r: expShardResults) {
             expResultsMap.put(r.getShardName() + "-" + r.getDataStoreType(), r);
         }
 
-        for (ShardResult result: shardResults) {
+        for (ShardResult result: shardResults.values()) {
             ShardResult exp = expResultsMap.remove(result.getShardName() + "-" + result.getDataStoreType());
             assertNotNull(String.format("Unexpected result for shard %s, type %s", result.getShardName(),
                     result.getDataStoreType()), exp);
-            assertEquals("isSucceeded", exp.isSucceeded(), result.isSucceeded());
-            if (exp.isSucceeded()) {
+            assertEquals("isSucceeded", exp.getSucceeded(), result.getSucceeded());
+            if (exp.getSucceeded()) {
                 assertNull("Expected null error message", result.getErrorMessage());
             } else {
                 assertNotNull("Expected error message", result.getErrorMessage());