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%2FSnapshotManagerTest.java;h=9463a113e6a9c369904aa3f3fe055a9dcd88635d;hb=26aad1a330cb5e750f17428e139f4f1c988282ad;hp=44f8f8041f86f2d7c9ec1bbde52cede5bfa9d7da;hpb=12fcdfe39aa26dcba7fd3bb4d4c68e3d02e65c51;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java index 44f8f8041f..9463a113e6 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java @@ -12,9 +12,8 @@ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.anyObject; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; @@ -33,9 +32,10 @@ import java.util.function.Consumer; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; import org.opendaylight.controller.cluster.DataPersistenceProvider; import org.opendaylight.controller.cluster.io.FileBackedOutputStreamFactory; import org.opendaylight.controller.cluster.raft.SnapshotManager.LastAppliedTermInformationReader; @@ -49,6 +49,7 @@ import org.opendaylight.controller.cluster.raft.persisted.Snapshot; import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor; import org.slf4j.LoggerFactory; +@RunWith(MockitoJUnitRunner.StrictStubs.class) public class SnapshotManagerTest extends AbstractActorTest { @Mock @@ -80,8 +81,6 @@ public class SnapshotManagerTest extends AbstractActorTest { @Before public void setUp() { - MockitoAnnotations.initMocks(this); - doReturn(false).when(mockRaftActorContext).hasFollowers(); doReturn(mockConfigParams).when(mockRaftActorContext).getConfigParams(); doReturn(10L).when(mockConfigParams).getSnapshotBatchCount(); @@ -115,7 +114,7 @@ public class SnapshotManagerTest extends AbstractActorTest { @Test public void testConstruction() { - assertEquals(false, snapshotManager.isCapturing()); + assertFalse(snapshotManager.isCapturing()); } @SuppressWarnings({ "unchecked", "rawtypes" }) @@ -126,7 +125,7 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.captureToInstall(new SimpleReplicatedLogEntry(0, 1, new MockRaftActorContext.MockPayload()), 0, "follower-1"); - assertEquals(true, snapshotManager.isCapturing()); + assertTrue(snapshotManager.isCapturing()); ArgumentCaptor outputStream = ArgumentCaptor.forClass(Optional.class); verify(mockProcedure).accept(outputStream.capture()); @@ -156,7 +155,7 @@ public class SnapshotManagerTest extends AbstractActorTest { assertTrue(capture); - assertEquals(true, snapshotManager.isCapturing()); + assertTrue(snapshotManager.isCapturing()); ArgumentCaptor outputStream = ArgumentCaptor.forClass(Optional.class); verify(mockProcedure).accept(outputStream.capture()); @@ -186,7 +185,7 @@ public class SnapshotManagerTest extends AbstractActorTest { assertTrue(capture); - assertEquals(true, snapshotManager.isCapturing()); + assertTrue(snapshotManager.isCapturing()); ArgumentCaptor outputStream = ArgumentCaptor.forClass(Optional.class); verify(mockProcedure).accept(outputStream.capture()); @@ -195,12 +194,12 @@ public class SnapshotManagerTest extends AbstractActorTest { CaptureSnapshot captureSnapshot = snapshotManager.getCaptureSnapshot(); // LastIndex and LastTerm are picked up from the lastLogEntry - assertEquals(-1L, captureSnapshot.getLastIndex()); - assertEquals(-1L, captureSnapshot.getLastTerm()); + assertEquals(0, captureSnapshot.getLastIndex()); + assertEquals(0, captureSnapshot.getLastTerm()); // Since the actor does not have any followers (no peer addresses) lastApplied will be from lastLogEntry - assertEquals(-1L, captureSnapshot.getLastAppliedIndex()); - assertEquals(-1L, captureSnapshot.getLastAppliedTerm()); + assertEquals(0, captureSnapshot.getLastAppliedIndex()); + assertEquals(0, captureSnapshot.getLastAppliedTerm()); // assertEquals(-1L, captureSnapshot.getReplicatedToAllIndex()); @@ -210,16 +209,16 @@ public class SnapshotManagerTest extends AbstractActorTest { @Test public void testCaptureWithCreateProcedureError() { - doThrow(new RuntimeException("mock")).when(mockProcedure).accept(anyObject()); + doThrow(new RuntimeException("mock")).when(mockProcedure).accept(any()); boolean capture = snapshotManager.capture(new SimpleReplicatedLogEntry(9, 1, new MockRaftActorContext.MockPayload()), 9); assertFalse(capture); - assertEquals(false, snapshotManager.isCapturing()); + assertFalse(snapshotManager.isCapturing()); - verify(mockProcedure).accept(anyObject()); + verify(mockProcedure).accept(any()); } @SuppressWarnings("unchecked") @@ -230,7 +229,7 @@ public class SnapshotManagerTest extends AbstractActorTest { assertTrue(capture); - verify(mockProcedure).accept(anyObject()); + verify(mockProcedure).accept(any()); reset(mockProcedure); @@ -240,7 +239,7 @@ public class SnapshotManagerTest extends AbstractActorTest { assertFalse(capture); - verify(mockProcedure, never()).accept(anyObject()); + verify(mockProcedure, never()).accept(any()); } @Test @@ -288,6 +287,7 @@ public class SnapshotManagerTest extends AbstractActorTest { doReturn(45L).when(mockReplicatedLog).getSnapshotIndex(); doReturn(6L).when(mockReplicatedLog).getSnapshotTerm(); ReplicatedLogEntry replicatedLogEntry = mock(ReplicatedLogEntry.class); + doReturn(null).when(mockReplicatedLog).get(0); doReturn(replicatedLogEntry).when(mockReplicatedLog).get(9); doReturn(6L).when(replicatedLogEntry).getTerm(); doReturn(9L).when(replicatedLogEntry).getIndex(); @@ -341,6 +341,7 @@ public class SnapshotManagerTest extends AbstractActorTest { long replicatedToAllIndex = 1; ReplicatedLogEntry replicatedLogEntry = mock(ReplicatedLogEntry.class); + doReturn(null).when(mockReplicatedLog).get(0); doReturn(replicatedLogEntry).when(mockReplicatedLog).get(replicatedToAllIndex); doReturn(6L).when(replicatedLogEntry).getTerm(); doReturn(replicatedToAllIndex).when(replicatedLogEntry).getIndex(); @@ -361,7 +362,7 @@ public class SnapshotManagerTest extends AbstractActorTest { @Test public void testPersistSendInstallSnapshot() throws Exception { doReturn(Integer.MAX_VALUE).when(mockReplicatedLog).dataSize(); - doNothing().when(mockProcedure).accept(anyObject()); + doNothing().when(mockProcedure).accept(any()); // when replicatedToAllIndex = -1 boolean capture = snapshotManager.captureToInstall(new SimpleReplicatedLogEntry(9, 6, @@ -381,7 +382,7 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.persist(snapshotState, installSnapshotStream, Runtime.getRuntime().totalMemory()); - assertEquals(true, snapshotManager.isCapturing()); + assertTrue(snapshotManager.isCapturing()); verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class)); @@ -434,11 +435,11 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.persist(ByteState.empty(), Optional.empty(), Runtime.getRuntime().totalMemory()); - assertEquals(true, snapshotManager.isCapturing()); + assertTrue(snapshotManager.isCapturing()); snapshotManager.commit(100L, 1234L); - assertEquals(false, snapshotManager.isCapturing()); + assertFalse(snapshotManager.isCapturing()); verify(mockReplicatedLog).snapshotCommit(); @@ -449,7 +450,7 @@ public class SnapshotManagerTest extends AbstractActorTest { verify(mockDataPersistenceProvider).deleteSnapshots(criteriaCaptor.capture()); - assertEquals(100L, criteriaCaptor.getValue().maxSequenceNr()); + assertEquals(Long.MAX_VALUE, criteriaCaptor.getValue().maxSequenceNr()); assertEquals(1233L, criteriaCaptor.getValue().maxTimestamp()); MessageCollectorActor.expectFirstMatching(actorRef, SnapshotComplete.class); @@ -561,7 +562,7 @@ public class SnapshotManagerTest extends AbstractActorTest { assertEquals("return index", 10L, retIndex); verify(mockReplicatedLog).snapshotPreCommit(10, 5); - verify(mockReplicatedLog).snapshotCommit(); + verify(mockReplicatedLog).snapshotCommit(false); verify(mockRaftActorBehavior, never()).setReplicatedToAllIndex(anyLong()); } @@ -570,16 +571,11 @@ public class SnapshotManagerTest extends AbstractActorTest { public void testTrimLogWhenLastAppliedNotSet() { doReturn(-1L).when(mockRaftActorContext).getLastApplied(); - ReplicatedLogEntry replicatedLogEntry = mock(ReplicatedLogEntry.class); - doReturn(true).when(mockReplicatedLog).isPresent(10); - doReturn(replicatedLogEntry).when(mockReplicatedLog).get(10); - doReturn(5L).when(replicatedLogEntry).getTerm(); - long retIndex = snapshotManager.trimLog(10); assertEquals("return index", -1L, retIndex); verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong()); - verify(mockReplicatedLog, never()).snapshotCommit(); + verify(mockReplicatedLog, never()).snapshotCommit(false); verify(mockRaftActorBehavior, never()).setReplicatedToAllIndex(anyLong()); } @@ -588,16 +584,11 @@ public class SnapshotManagerTest extends AbstractActorTest { public void testTrimLogWhenLastAppliedZero() { doReturn(0L).when(mockRaftActorContext).getLastApplied(); - ReplicatedLogEntry replicatedLogEntry = mock(ReplicatedLogEntry.class); - doReturn(true).when(mockReplicatedLog).isPresent(10); - doReturn(replicatedLogEntry).when(mockReplicatedLog).get(10); - doReturn(5L).when(replicatedLogEntry).getTerm(); - long retIndex = snapshotManager.trimLog(10); assertEquals("return index", -1L, retIndex); verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong()); - verify(mockReplicatedLog, never()).snapshotCommit(); + verify(mockReplicatedLog, never()).snapshotCommit(false); verify(mockRaftActorBehavior, never()).setReplicatedToAllIndex(anyLong()); } @@ -612,7 +603,7 @@ public class SnapshotManagerTest extends AbstractActorTest { assertEquals("return index", -1L, retIndex); verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong()); - verify(mockReplicatedLog, never()).snapshotCommit(); + verify(mockReplicatedLog, never()).snapshotCommit(false); // Trim index is greater than replicatedToAllIndex so should update it. verify(mockRaftActorBehavior).setReplicatedToAllIndex(10L); @@ -625,19 +616,12 @@ public class SnapshotManagerTest extends AbstractActorTest { assertTrue(capture); - assertEquals(true, snapshotManager.isCapturing()); - - ReplicatedLogEntry replicatedLogEntry = mock(ReplicatedLogEntry.class); - doReturn(20L).when(mockRaftActorContext).getLastApplied(); - doReturn(true).when(mockReplicatedLog).isPresent(10); - doReturn(replicatedLogEntry).when(mockReplicatedLog).get(10); - doReturn(5L).when(replicatedLogEntry).getTerm(); + assertTrue(snapshotManager.isCapturing()); snapshotManager.trimLog(10); verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong()); - verify(mockReplicatedLog, never()).snapshotCommit(); - + verify(mockReplicatedLog, never()).snapshotCommit(false); } @Test @@ -647,19 +631,12 @@ public class SnapshotManagerTest extends AbstractActorTest { assertTrue(capture); - assertEquals(true, snapshotManager.isCapturing()); - - ReplicatedLogEntry replicatedLogEntry = mock(ReplicatedLogEntry.class); - doReturn(20L).when(mockRaftActorContext).getLastApplied(); - doReturn(true).when(mockReplicatedLog).isPresent(10); - doReturn(replicatedLogEntry).when(mockReplicatedLog).get(10); - doReturn(5L).when(replicatedLogEntry).getTerm(); + assertTrue(snapshotManager.isCapturing()); snapshotManager.trimLog(10); verify(mockReplicatedLog, never()).snapshotPreCommit(10, 5); verify(mockReplicatedLog, never()).snapshotCommit(); - } @Test