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%2FMockRaftActorContext.java;h=d92f0729f207c077f7b38a1427d62a535e49cd0f;hb=5fd4213b5bfaf2db21f1b37139f6b98535a872c0;hp=65f0a624e6b83c6a3fb3cfff52a00d9d64c55850;hpb=fe8352361d49c76a0ecc80162a2b8258d35198b5;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java index 65f0a624e6..d92f0729f2 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java @@ -14,12 +14,17 @@ import akka.actor.ActorSystem; import akka.actor.Props; import akka.japi.Procedure; import com.google.common.base.Throwables; +import com.google.common.io.ByteSource; +import java.io.IOException; +import java.io.OutputStream; import java.io.Serializable; import java.util.HashMap; import java.util.Map; import org.opendaylight.controller.cluster.NonPersistentDataProvider; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; +import org.opendaylight.controller.cluster.raft.persisted.ByteState; import org.opendaylight.controller.cluster.raft.persisted.SimpleReplicatedLogEntry; +import org.opendaylight.controller.cluster.raft.persisted.Snapshot.State; import org.opendaylight.controller.cluster.raft.policy.RaftPolicy; import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload; import org.slf4j.Logger; @@ -62,13 +67,14 @@ public class MockRaftActorContext extends RaftActorContextImpl { public MockRaftActorContext() { super(null, null, "test", newElectionTerm(), -1, -1, new HashMap<>(), - new DefaultConfigParamsImpl(), new NonPersistentDataProvider(), LOG); + new DefaultConfigParamsImpl(), new NonPersistentDataProvider(), applyState -> { }, LOG); setReplicatedLog(new MockReplicatedLogBuilder().build()); } public MockRaftActorContext(String id, ActorSystem system, ActorRef actor) { super(actor, null, id, newElectionTerm(), -1, -1, new HashMap<>(), - new DefaultConfigParamsImpl(), new NonPersistentDataProvider(), LOG); + new DefaultConfigParamsImpl(), new NonPersistentDataProvider(), + applyState -> actor.tell(applyState, actor), LOG); this.system = system; @@ -119,7 +125,23 @@ public class MockRaftActorContext extends RaftActorContextImpl { @Override public SnapshotManager getSnapshotManager() { SnapshotManager snapshotManager = super.getSnapshotManager(); - snapshotManager.setCreateSnapshotRunnable(() -> { }); + snapshotManager.setCreateSnapshotConsumer(out -> { }); + + snapshotManager.setSnapshotCohort(new RaftActorSnapshotCohort() { + @Override + public State deserializeSnapshot(ByteSource snapshotBytes) throws IOException { + return ByteState.of(snapshotBytes.read()); + } + + @Override + public void createSnapshot(ActorRef actorRef, java.util.Optional installSnapshotStream) { + } + + @Override + public void applySnapshot(State snapshotState) { + } + }); + return snapshotManager; } @@ -142,6 +164,11 @@ public class MockRaftActorContext extends RaftActorContextImpl { public void captureSnapshotIfReady(ReplicatedLogEntry replicatedLogEntry) { } + @Override + public boolean shouldCaptureSnapshot(long logIndex) { + return false; + } + @Override public boolean removeFromAndPersist(long index) { return removeFrom(index) >= 0;