Bug 6540: Refactor FollowerToSnapshot to its own class
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / test / java / org / opendaylight / controller / cluster / raft / behaviors / IsolatedLeaderTest.java
index e16d765cdea29a76b0a18440a3128c1a4f2529e6..a48efb21f3cc82723e9ce953ecc4d31d14d54028 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.controller.cluster.raft.RaftState;
 import org.opendaylight.controller.cluster.raft.messages.AppendEntriesReply;
 import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor;
 
-public class IsolatedLeaderTest  extends AbstractLeaderTest {
+public class IsolatedLeaderTest extends AbstractLeaderTest<IsolatedLeader> {
 
     private final TestActorRef<MessageCollectorActor> leaderActor = actorFactory.createTestActor(
             Props.create(MessageCollectorActor.class), actorFactory.generateActorId("leader"));
@@ -43,7 +43,7 @@ public class IsolatedLeaderTest  extends AbstractLeaderTest {
     }
 
     @Override
-    protected RaftActorBehavior createBehavior(RaftActorContext actorContext) {
+    protected IsolatedLeader createBehavior(RaftActorContext actorContext) {
         return new IsolatedLeader(actorContext);
     }
 
@@ -73,12 +73,13 @@ public class IsolatedLeaderTest  extends AbstractLeaderTest {
         leaderActorContext.setPeerAddresses(peerAddresses);
 
         isolatedLeader = new IsolatedLeader(leaderActorContext);
+        leaderActorContext.setCurrentBehavior(isolatedLeader);
         assertEquals("Raft state", RaftState.IsolatedLeader, isolatedLeader.state());
 
         // in a 3 node cluster, even if 1 follower is returns a reply, the isolatedLeader is not isolated
         RaftActorBehavior behavior = isolatedLeader.handleMessage(senderActor,
                 new AppendEntriesReply("follower-1", isolatedLeader.lastTerm() - 1, true,
-                        isolatedLeader.lastIndex() - 1, isolatedLeader.lastTerm() - 1));
+                        isolatedLeader.lastIndex() - 1, isolatedLeader.lastTerm() - 1, (short)0));
 
         assertEquals("Raft state", RaftState.Leader, behavior.state());
 
@@ -87,7 +88,7 @@ public class IsolatedLeaderTest  extends AbstractLeaderTest {
 
         behavior = isolatedLeader.handleMessage(senderActor,
                 new AppendEntriesReply("follower-2", isolatedLeader.lastTerm() - 1, true,
-                        isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1 ));
+                        isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1, (short)0 ));
 
         assertEquals("Raft state", RaftState.Leader, behavior.state());
     }
@@ -108,18 +109,19 @@ public class IsolatedLeaderTest  extends AbstractLeaderTest {
         leaderActorContext.setPeerAddresses(peerAddresses);
 
         isolatedLeader = new IsolatedLeader(leaderActorContext);
+        leaderActorContext.setCurrentBehavior(isolatedLeader);
         assertEquals("Raft state", RaftState.IsolatedLeader, isolatedLeader.state());
 
         // in a 5 member cluster, atleast 2 followers need to be active and return a reply
         RaftActorBehavior behavior = isolatedLeader.handleMessage(senderActor,
                 new AppendEntriesReply("follower-1", isolatedLeader.lastTerm() - 1, true,
-                        isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1 ));
+                        isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1, (short)0 ));
 
         assertEquals("Raft state", RaftState.IsolatedLeader, behavior.state());
 
         behavior = isolatedLeader.handleMessage(senderActor,
                 new AppendEntriesReply("follower-2", isolatedLeader.lastTerm() - 1, true,
-                        isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1 ));
+                        isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1, (short)0 ));
 
         assertEquals("Raft state", RaftState.Leader, behavior.state());
 
@@ -128,7 +130,7 @@ public class IsolatedLeaderTest  extends AbstractLeaderTest {
 
         behavior = isolatedLeader.handleMessage(senderActor,
                 new AppendEntriesReply("follower-3", isolatedLeader.lastTerm() - 1, true,
-                        isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1 ));
+                        isolatedLeader.lastIndex() -1, isolatedLeader.lastTerm() -1, (short)0 ));
 
         assertEquals("Raft state", RaftState.Leader, behavior.state());
     }
@@ -152,7 +154,7 @@ public class IsolatedLeaderTest  extends AbstractLeaderTest {
         // bowing itself to another leader in the cluster
         RaftActorBehavior behavior = isolatedLeader.handleMessage(senderActor,
                 new AppendEntriesReply("follower-1", isolatedLeader.lastTerm() + 1, true,
-                        isolatedLeader.lastIndex() + 1, isolatedLeader.lastTerm() + 1));
+                        isolatedLeader.lastIndex() + 1, isolatedLeader.lastTerm() + 1, (short)0));
 
         assertEquals("Raft state", RaftState.Follower, behavior.state());