X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fbehaviors%2FCandidateTest.java;h=0a715b2d04416075da5a9344ada15af6a0b688f1;hb=03e752cbd625921ece92c5281cd4e1a8c81b3210;hp=a8d47e2c60239a9a7f796a5afe93f7df0ef57d96;hpb=139937c2e646894af6a9b2b8a8a1047c6ef82485;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/CandidateTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/CandidateTest.java index a8d47e2c60..0a715b2d04 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/CandidateTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/CandidateTest.java @@ -1,14 +1,19 @@ package org.opendaylight.controller.cluster.raft.behaviors; +import static org.junit.Assert.assertEquals; import akka.actor.ActorRef; import akka.actor.Props; import akka.testkit.JavaTestKit; -import junit.framework.Assert; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.cluster.raft.DefaultConfigParamsImpl; import org.opendaylight.controller.cluster.raft.MockRaftActorContext; import org.opendaylight.controller.cluster.raft.RaftActorContext; +import org.opendaylight.controller.cluster.raft.ReplicatedLogEntry; import org.opendaylight.controller.cluster.raft.base.messages.ElectionTimeout; import org.opendaylight.controller.cluster.raft.messages.AppendEntries; import org.opendaylight.controller.cluster.raft.messages.AppendEntriesReply; @@ -16,12 +21,6 @@ import org.opendaylight.controller.cluster.raft.messages.RequestVote; import org.opendaylight.controller.cluster.raft.messages.RequestVoteReply; import org.opendaylight.controller.cluster.raft.utils.DoNothingActor; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import static org.junit.Assert.assertEquals; - public class CandidateTest extends AbstractRaftActorBehaviorTest { private final ActorRef candidateActor = getSystem().actorOf(Props.create( @@ -81,12 +80,14 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { new JavaTestKit(getSystem()) {{ new Within(DefaultConfigParamsImpl.HEART_BEAT_INTERVAL.$times(6)) { + @Override protected void run() { Candidate candidate = new Candidate(createActorContext(getTestActor())); final Boolean out = new ExpectMsg(DefaultConfigParamsImpl.HEART_BEAT_INTERVAL.$times(6), "ElectionTimeout") { // do not put code outside this method, will run afterwards + @Override protected Boolean match(Object in) { if (in instanceof ElectionTimeout) { return true; @@ -117,7 +118,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { @Test public void testHandleElectionTimeoutWhenThereAreTwoNodesInCluster(){ MockRaftActorContext raftActorContext = - (MockRaftActorContext) createActorContext(); + createActorContext(); raftActorContext.setPeerAddresses(onePeer); Candidate candidate = new Candidate(raftActorContext); @@ -131,7 +132,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { @Test public void testBecomeLeaderOnReceivingMajorityVotesInThreeNodesInCluster(){ MockRaftActorContext raftActorContext = - (MockRaftActorContext) createActorContext(); + createActorContext(); raftActorContext.setPeerAddresses(twoPeers); Candidate candidate = new Candidate(raftActorContext); @@ -145,7 +146,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { @Test public void testBecomeLeaderOnReceivingMajorityVotesInFiveNodesInCluster(){ MockRaftActorContext raftActorContext = - (MockRaftActorContext) createActorContext(); + createActorContext(); raftActorContext.setPeerAddresses(fourPeers); Candidate candidate = new Candidate(raftActorContext); @@ -164,14 +165,16 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { new JavaTestKit(getSystem()) {{ new Within(duration("1 seconds")) { + @Override protected void run() { Candidate candidate = new Candidate(createActorContext(getTestActor())); - candidate.handleMessage(getTestActor(), new AppendEntries(0, "test", 0,0,Collections.EMPTY_LIST, 0)); + candidate.handleMessage(getTestActor(), new AppendEntries(0, "test", 0,0,Collections.emptyList(), 0, -1)); final Boolean out = new ExpectMsg(duration("1 seconds"), "AppendEntriesResponse") { // do not put code outside this method, will run afterwards + @Override protected Boolean match(Object in) { if (in instanceof AppendEntriesReply) { AppendEntriesReply reply = (AppendEntriesReply) in; @@ -193,6 +196,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { new JavaTestKit(getSystem()) {{ new Within(duration("1 seconds")) { + @Override protected void run() { Candidate candidate = new Candidate(createActorContext(getTestActor())); @@ -201,6 +205,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { final Boolean out = new ExpectMsg(duration("1 seconds"), "AppendEntriesResponse") { // do not put code outside this method, will run afterwards + @Override protected Boolean match(Object in) { if (in instanceof RequestVoteReply) { RequestVoteReply reply = (RequestVoteReply) in; @@ -222,6 +227,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { new JavaTestKit(getSystem()) {{ new Within(duration("1 seconds")) { + @Override protected void run() { RaftActorContext context = createActorContext(getTestActor()); @@ -236,6 +242,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { final Boolean out = new ExpectMsg(duration("1 seconds"), "RequestVoteReply") { // do not put code outside this method, will run afterwards + @Override protected Boolean match(Object in) { if (in instanceof RequestVoteReply) { RequestVoteReply reply = (RequestVoteReply) in; @@ -257,6 +264,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { new JavaTestKit(getSystem()) {{ new Within(duration("1 seconds")) { + @Override protected void run() { RaftActorContext context = createActorContext(getTestActor()); @@ -269,6 +277,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { final Boolean out = new ExpectMsg(duration("1 seconds"), "RequestVoteReply") { // do not put code outside this method, will run afterwards + @Override protected Boolean match(Object in) { if (in instanceof RequestVoteReply) { RequestVoteReply reply = (RequestVoteReply) in; @@ -291,7 +300,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest { return new Candidate(actorContext); } - @Override protected RaftActorContext createActorContext() { + @Override protected MockRaftActorContext createActorContext() { return new MockRaftActorContext("test", getSystem(), candidateActor); }