X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FRaftActorTest.java;h=c47ca5cec1f93273a93c744125c12223d0fe39dd;hp=f4846d2589ad050632b47bc24c15b451e818b218;hb=dcc92fc8fdf056d5ada94931f2d24523070fd9a7;hpb=2895ebebbc5178ff051b5611341444159dd69770 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 f4846d2589..c47ca5cec1 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,6 +19,7 @@ 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; @@ -36,6 +37,7 @@ 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; @@ -102,6 +104,19 @@ 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(); @@ -295,7 +310,8 @@ public class RaftActorTest extends AbstractActorTest { mockRaftActor.waitForRecoveryComplete(); RaftActorRecoverySupport mockSupport = mock(RaftActorRecoverySupport.class); - mockRaftActor.setRaftActorRecoverySupport(mockSupport ); + doReturn(false).when(mockSupport).handleRecoveryMessage(any(Object.class), any(PersistentDataProvider.class)); + 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); @@ -400,7 +416,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); + DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); TestActorRef mockActorRef = factory.createTestActor(MockRaftActor.props(persistenceId, Collections.emptyMap(), config, dataPersistenceProvider), persistenceId); @@ -431,7 +447,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); + DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); TestActorRef mockActorRef = factory.createTestActor(MockRaftActor.props(persistenceId, Collections.emptyMap(), config, dataPersistenceProvider), persistenceId); @@ -599,7 +615,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); config.setIsolatedLeaderCheckInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); + DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); Map peerAddresses = new HashMap<>(); peerAddresses.put(follower1Id, followerActor1.path().toString()); @@ -696,7 +712,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); config.setIsolatedLeaderCheckInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); + DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); Map peerAddresses = new HashMap<>(); peerAddresses.put(leaderId, leaderActor1.path().toString()); @@ -803,7 +819,7 @@ public class RaftActorTest extends AbstractActorTest { config.setHeartBeatInterval(new FiniteDuration(1, TimeUnit.DAYS)); config.setIsolatedLeaderCheckInterval(new FiniteDuration(1, TimeUnit.DAYS)); - DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); + DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); Map peerAddresses = new HashMap<>(); peerAddresses.put(follower1Id, followerActor1.path().toString()); @@ -1063,7 +1079,7 @@ public class RaftActorTest extends AbstractActorTest { String persistenceId = factory.generateActorId("follower-"); ImmutableMap peerAddresses = ImmutableMap.builder().put("member1", "address").build(); - DataPersistenceProvider dataPersistenceProvider = mock(DataPersistenceProvider.class); + DataPersistenceProvider dataPersistenceProvider = mockPersistenceProvider(); TestActorRef actorRef = factory.createTestActor( MockRaftActor.props(persistenceId, peerAddresses, emptyConfig, dataPersistenceProvider), persistenceId); @@ -1137,6 +1153,7 @@ 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()); @@ -1164,6 +1181,7 @@ 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); @@ -1175,6 +1193,7 @@ 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);