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%2FRaftActorSnapshotMessageSupportTest.java;h=87717ccfbecd3a5040b2880566a136ffea181387;hb=dcc9827eab4f95b8e35820e8355066ff105d2720;hp=d9dcd0607164d8409c5fa5b76a8d6064e4bcc5cf;hpb=dcc92fc8fdf056d5ada94931f2d24523070fd9a7;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupportTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupportTest.java index d9dcd06071..87717ccfbe 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupportTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupportTest.java @@ -8,27 +8,31 @@ package org.opendaylight.controller.cluster.raft; import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.same; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; + import akka.actor.ActorRef; -import akka.japi.Procedure; import akka.persistence.SaveSnapshotFailure; import akka.persistence.SaveSnapshotSuccess; import akka.persistence.SnapshotMetadata; -import java.util.Collections; +import com.google.common.util.concurrent.MoreExecutors; +import java.io.OutputStream; +import java.util.List; +import java.util.Map; +import java.util.Optional; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; import org.opendaylight.controller.cluster.DataPersistenceProvider; import org.opendaylight.controller.cluster.raft.base.messages.ApplySnapshot; import org.opendaylight.controller.cluster.raft.base.messages.CaptureSnapshotReply; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; +import org.opendaylight.controller.cluster.raft.persisted.ByteState; +import org.opendaylight.controller.cluster.raft.persisted.Snapshot; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,8 +41,8 @@ import org.slf4j.LoggerFactory; * * @author Thomas Pantelis */ +@RunWith(MockitoJUnitRunner.StrictStubs.class) public class RaftActorSnapshotMessageSupportTest { - private static final Logger LOG = LoggerFactory.getLogger(RaftActorRecoverySupportTest.class); @Mock @@ -63,36 +67,25 @@ public class RaftActorSnapshotMessageSupportTest { @Before public void setup() { - MockitoAnnotations.initMocks(this); - - doNothing().when(mockSnapshotManager).setApplySnapshotProcedure(any(Procedure.class)); - doNothing().when(mockSnapshotManager).setCreateSnapshotCallable(any(Procedure.class)); - doNothing().when(mockSnapshotManager).apply(any(ApplySnapshot.class)); - doNothing().when(mockSnapshotManager).commit(any(long.class), any(RaftActorBehavior.class)); - doNothing().when(mockSnapshotManager).persist(any(byte[].class), any(RaftActorBehavior.class), any(long.class)); - doNothing().when(mockSnapshotManager).rollback(); - context = new RaftActorContextImpl(mockRaftActorRef, null, "test", - new ElectionTermImpl(mockPersistence, "test", LOG), - -1, -1, Collections.emptyMap(), configParams, mockPersistence, LOG) { + new ElectionTermImpl(mockPersistence, "test", LOG), -1, -1, Map.of(), + configParams, mockPersistence, applyState -> { }, LOG, MoreExecutors.directExecutor()) { @Override public SnapshotManager getSnapshotManager() { return mockSnapshotManager; } }; - support = new RaftActorSnapshotMessageSupport(context, mockBehavior, mockCohort); - - doReturn(true).when(mockPersistence).isRecoveryApplicable(); + support = new RaftActorSnapshotMessageSupport(context, mockCohort); - context.setReplicatedLog(ReplicatedLogImpl.newInstance(context, mockBehavior)); + context.setReplicatedLog(ReplicatedLogImpl.newInstance(context)); } - private void sendMessageToSupport(Object message) { + private void sendMessageToSupport(final Object message) { sendMessageToSupport(message, true); } - private void sendMessageToSupport(Object message, boolean expHandled) { + private void sendMessageToSupport(final Object message, final boolean expHandled) { boolean handled = support.handleSnapshotMessage(message, mockRaftActorRef); assertEquals("complete", expHandled, handled); } @@ -104,8 +97,8 @@ public class RaftActorSnapshotMessageSupportTest { long lastIndexDuringSnapshotCapture = 2; byte[] snapshotBytes = {1,2,3,4,5}; - Snapshot snapshot = Snapshot.create(snapshotBytes, Collections.emptyList(), - lastIndexDuringSnapshotCapture, 1, lastAppliedDuringSnapshotCapture, 1); + Snapshot snapshot = Snapshot.create(ByteState.of(snapshotBytes), List.of(), + lastIndexDuringSnapshotCapture, 1, lastAppliedDuringSnapshotCapture, 1, -1, null, null); ApplySnapshot applySnapshot = new ApplySnapshot(snapshot); sendMessageToSupport(applySnapshot); @@ -115,20 +108,21 @@ public class RaftActorSnapshotMessageSupportTest { @Test public void testOnCaptureSnapshotReply() { + ByteState state = ByteState.of(new byte[]{1,2,3,4,5}); + Optional optionalStream = Optional.of(mock(OutputStream.class)); + sendMessageToSupport(new CaptureSnapshotReply(state, optionalStream)); - byte[] snapshot = {1,2,3,4,5}; - sendMessageToSupport(new CaptureSnapshotReply(snapshot)); - - verify(mockSnapshotManager).persist(same(snapshot), same(mockBehavior), anyLong()); + verify(mockSnapshotManager).persist(eq(state), eq(optionalStream), anyLong()); } @Test public void testOnSaveSnapshotSuccess() { long sequenceNumber = 100; - sendMessageToSupport(new SaveSnapshotSuccess(new SnapshotMetadata("foo", sequenceNumber, 1234L))); + long timeStamp = 1234L; + sendMessageToSupport(new SaveSnapshotSuccess(new SnapshotMetadata("foo", sequenceNumber, timeStamp))); - verify(mockSnapshotManager).commit(eq(sequenceNumber), same(mockBehavior)); + verify(mockSnapshotManager).commit(eq(sequenceNumber), eq(timeStamp)); } @Test @@ -145,7 +139,7 @@ public class RaftActorSnapshotMessageSupportTest { sendMessageToSupport(RaftActorSnapshotMessageSupport.COMMIT_SNAPSHOT); - verify(mockSnapshotManager).commit(eq(-1L), same(mockBehavior)); + verify(mockSnapshotManager).commit(eq(-1L), eq(-1L)); } @Test