X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FRaftActorTest.java;h=d37681e872528be1bedc38d42b0ce094599295e7;hb=refs%2Fchanges%2F24%2F32524%2F19;hp=c47ca5cec1f93273a93c744125c12223d0fe39dd;hpb=dcc92fc8fdf056d5ada94931f2d24523070fd9a7;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java index c47ca5cec1..d37681e872 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java @@ -19,7 +19,6 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyObject; import static org.mockito.Matchers.eq; import static org.mockito.Matchers.same; -import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -37,7 +36,6 @@ import akka.persistence.SaveSnapshotFailure; import akka.persistence.SaveSnapshotSuccess; import akka.persistence.SnapshotMetadata; import akka.persistence.SnapshotOffer; -import akka.persistence.SnapshotSelectionCriteria; import akka.testkit.JavaTestKit; import akka.testkit.TestActorRef; import com.google.common.base.Optional; @@ -104,19 +102,6 @@ public class RaftActorTest extends AbstractActorTest { factory = new TestActorFactory(getSystem()); } - @SuppressWarnings("unchecked") - private static DataPersistenceProvider mockPersistenceProvider() { - final DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); - doReturn(false).when(dataPersistenceProvider).isRecoveryApplicable(); - doReturn(0L).when(dataPersistenceProvider).getLastSequenceNumber(); - doNothing().when(dataPersistenceProvider).saveSnapshot(any(Object.class)); - doNothing().when(dataPersistenceProvider).persist(any(Object.class), any(Procedure.class)); - doNothing().when(dataPersistenceProvider).deleteSnapshots(any(SnapshotSelectionCriteria.class)); - doNothing().when(dataPersistenceProvider).deleteMessages(0L); - - return dataPersistenceProvider; - } - @After public void tearDown() throws Exception { factory.close(); @@ -310,8 +295,7 @@ public class RaftActorTest extends AbstractActorTest { mockRaftActor.waitForRecoveryComplete(); RaftActorRecoverySupport mockSupport = mock(RaftActorRecoverySupport.class); - doReturn(false).when(mockSupport).handleRecoveryMessage(any(Object.class), any(PersistentDataProvider.class)); - mockRaftActor.setRaftActorRecoverySupport(mockSupport); + mockRaftActor.setRaftActorRecoverySupport(mockSupport ); Snapshot snapshot = Snapshot.create(new byte[]{1}, Collections.emptyList(), 3, 1, 3, 1); SnapshotOffer snapshotOffer = new SnapshotOffer(new SnapshotMetadata("test", 6, 12345), snapshot); @@ -381,11 +365,11 @@ public class RaftActorTest extends AbstractActorTest { doReturn(true).when(mockSupport).handleSnapshotMessage(same(captureSnapshotReply), any(ActorRef.class)); mockRaftActor.handleCommand(captureSnapshotReply); - SaveSnapshotSuccess saveSnapshotSuccess = new SaveSnapshotSuccess(mock(SnapshotMetadata.class)); + SaveSnapshotSuccess saveSnapshotSuccess = new SaveSnapshotSuccess(new SnapshotMetadata("", 0L, 0L)); doReturn(true).when(mockSupport).handleSnapshotMessage(same(saveSnapshotSuccess), any(ActorRef.class)); mockRaftActor.handleCommand(saveSnapshotSuccess); - SaveSnapshotFailure saveSnapshotFailure = new SaveSnapshotFailure(mock(SnapshotMetadata.class), new Throwable()); + SaveSnapshotFailure saveSnapshotFailure = new SaveSnapshotFailure(new SnapshotMetadata("", 0L, 0L), new Throwable()); doReturn(true).when(mockSupport).handleSnapshotMessage(same(saveSnapshotFailure), any(ActorRef.class)); mockRaftActor.handleCommand(saveSnapshotFailure); @@ -416,7 +400,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); + DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); TestActorRef mockActorRef = factory.createTestActor(MockRaftActor.props(persistenceId, Collections.emptyMap(), config, dataPersistenceProvider), persistenceId); @@ -447,7 +431,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); + DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); TestActorRef mockActorRef = factory.createTestActor(MockRaftActor.props(persistenceId, Collections.emptyMap(), config, dataPersistenceProvider), persistenceId); @@ -615,7 +599,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); config.setIsolatedLeaderCheckInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); + DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); Map peerAddresses = new HashMap<>(); peerAddresses.put(follower1Id, followerActor1.path().toString()); @@ -712,7 +696,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); config.setIsolatedLeaderCheckInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); + DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); Map peerAddresses = new HashMap<>(); peerAddresses.put(leaderId, leaderActor1.path().toString()); @@ -819,7 +803,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); config.setIsolatedLeaderCheckInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); + DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); Map peerAddresses = new HashMap<>(); peerAddresses.put(follower1Id, followerActor1.path().toString()); @@ -860,7 +844,7 @@ public class RaftActorTest extends AbstractActorTest { assertEquals(RaftState.Leader, leaderActor.getCurrentBehavior().state()); // simulate a real snapshot - leaderActor.onReceiveCommand(new SendHeartBeat()); + leaderActor.onReceiveCommand(SendHeartBeat.INSTANCE); assertEquals(5, leaderActor.getReplicatedLog().size()); assertEquals(String.format("expected to be Leader but was %s. Current Leader = %s ", leaderActor.getCurrentBehavior().state(), leaderActor.getLeaderId()) @@ -1079,7 +1063,7 @@ public class RaftActorTest extends AbstractActorTest { String persistenceId = factory.generateActorId("follower-"); ImmutableMap peerAddresses = ImmutableMap.builder().put("member1", "address").build(); - DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); + DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); TestActorRef actorRef = factory.createTestActor( MockRaftActor.props(persistenceId, peerAddresses, emptyConfig, dataPersistenceProvider), persistenceId); @@ -1153,7 +1137,6 @@ public class RaftActorTest extends AbstractActorTest { verify(mockRaftActor.snapshotCohortDelegate, timeout(5000)).createSnapshot(any(ActorRef.class)); mockRaftActor.snapshotCohortDelegate = mock(RaftActorSnapshotCohort.class); - doNothing().when(mockRaftActor.snapshotCohortDelegate).createSnapshot(any(ActorRef.class)); raftActorRef.tell(GetSnapshot.INSTANCE, kit.getRef()); @@ -1181,7 +1164,6 @@ public class RaftActorTest extends AbstractActorTest { mockRaftActor.getSnapshotMessageSupport().setSnapshotReplyActorTimeout(Duration.create(200, TimeUnit.MILLISECONDS)); reset(mockRaftActor.snapshotCohortDelegate); - doNothing().when(mockRaftActor.snapshotCohortDelegate).createSnapshot(any(ActorRef.class)); raftActorRef.tell(GetSnapshot.INSTANCE, kit.getRef()); Failure failure = kit.expectMsgClass(akka.actor.Status.Failure.class); @@ -1193,7 +1175,6 @@ public class RaftActorTest extends AbstractActorTest { mockRaftActor.setPersistence(false); reset(mockRaftActor.snapshotCohortDelegate); - doNothing().when(mockRaftActor.snapshotCohortDelegate).createSnapshot(any(ActorRef.class)); raftActorRef.tell(GetSnapshot.INSTANCE, kit.getRef()); reply = kit.expectMsgClass(GetSnapshotReply.class); @@ -1314,7 +1295,8 @@ public class RaftActorTest extends AbstractActorTest { mockRaftActor.waitForRecoveryComplete(); - verify(mockRaftActor.snapshotCohortDelegate, timeout(500).never()).applySnapshot(any(byte[].class)); + Uninterruptibles.sleepUninterruptibly(500, TimeUnit.MILLISECONDS); + verify(mockRaftActor.snapshotCohortDelegate, never()).applySnapshot(any(byte[].class)); RaftActorContext context = mockRaftActor.getRaftActorContext(); assertEquals("Journal log size", 1, context.getReplicatedLog().size()); @@ -1379,7 +1361,7 @@ public class RaftActorTest extends AbstractActorTest { MessageCollectorActor.clearMessages(notifierActor); - raftActorRef.tell(new LeaderTransitioning(), ActorRef.noSender()); + raftActorRef.tell(LeaderTransitioning.INSTANCE, ActorRef.noSender()); leaderStateChange = MessageCollectorActor.expectFirstMatching(notifierActor, LeaderStateChanged.class); assertEquals("getMemberId", persistenceId, leaderStateChange.getMemberId());