import static org.junit.Assert.assertNull;
import akka.actor.ActorRef;
-import akka.actor.Props;
-import akka.testkit.TestActorRef;
-import com.google.protobuf.ByteString;
+import akka.protobuf.ByteString;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import org.opendaylight.controller.cluster.raft.TestActorFactory;
import org.opendaylight.controller.cluster.raft.messages.AppendEntries;
import org.opendaylight.controller.cluster.raft.messages.AppendEntriesReply;
+import org.opendaylight.controller.cluster.raft.messages.Payload;
import org.opendaylight.controller.cluster.raft.messages.RaftRPC;
import org.opendaylight.controller.cluster.raft.messages.RequestVote;
import org.opendaylight.controller.cluster.raft.messages.RequestVoteReply;
import org.opendaylight.controller.cluster.raft.persisted.SimpleReplicatedLogEntry;
import org.opendaylight.controller.cluster.raft.policy.RaftPolicy;
-import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
import org.opendaylight.controller.cluster.raft.utils.InMemoryJournal;
import org.opendaylight.controller.cluster.raft.utils.InMemorySnapshotStore;
import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor;
protected final TestActorFactory actorFactory = new TestActorFactory(getSystem());
- private final TestActorRef<MessageCollectorActor> behaviorActor = actorFactory.createTestActor(
- Props.create(MessageCollectorActor.class), actorFactory.generateActorId("behavior"));
+ private final ActorRef behaviorActor = actorFactory.createActor(
+ MessageCollectorActor.props(), actorFactory.generateActorId("behavior"));
RaftActorBehavior behavior;
@After
- public void tearDown() throws Exception {
+ public void tearDown() {
if (behavior != null) {
behavior.close();
}
* term the RaftActor gets into the Follower state.
*/
@Test
- public void testHandleRaftRPCWithNewerTerm() throws Exception {
+ public void testHandleRaftRPCWithNewerTerm() {
MockRaftActorContext actorContext = createActorContext();
assertStateChangesToFollowerWhenRaftRPCHasNewerTerm(actorContext, behaviorActor,
* change it's state and it responds back with a failure.
*/
@Test
- public void testHandleAppendEntriesSenderTermLessThanReceiverTerm() throws Exception {
+ public void testHandleAppendEntriesSenderTermLessThanReceiverTerm() {
MockRaftActorContext context = createActorContext();
short payloadVersion = 5;
context.setPayloadVersion(payloadVersion);
@Test
- public void testHandleAppendEntriesAddSameEntryToLog() throws Exception {
+ public void testHandleAppendEntriesAddSameEntryToLog() {
MockRaftActorContext context = createActorContext();
context.getTermInformation().update(2, "test");
handleAppendEntriesAddSameEntryToLogReply(behaviorActor);
}
- protected void handleAppendEntriesAddSameEntryToLogReply(TestActorRef<MessageCollectorActor> replyActor)
- throws Exception {
+ protected void handleAppendEntriesAddSameEntryToLogReply(final ActorRef replyActor) {
AppendEntriesReply reply = MessageCollectorActor.getFirstMatching(replyActor, AppendEntriesReply.class);
Assert.assertNull("Expected no AppendEntriesReply", reply);
}
}
- protected void assertStateChangesToFollowerWhenRaftRPCHasNewerTerm(MockRaftActorContext actorContext,
- ActorRef actorRef, RaftRPC rpc) throws Exception {
+ protected void assertStateChangesToFollowerWhenRaftRPCHasNewerTerm(final MockRaftActorContext actorContext,
+ final ActorRef actorRef, final RaftRPC rpc) {
Payload payload = new MockRaftActorContext.MockPayload("");
setLastLogEntry(actorContext, 1, 0, payload);
}
protected MockRaftActorContext.SimpleReplicatedLog setLastLogEntry(
- MockRaftActorContext actorContext, long term, long index, Payload data) {
+ final MockRaftActorContext actorContext, final long term, final long index, final Payload data) {
return setLastLogEntry(actorContext, new SimpleReplicatedLogEntry(index, term, data));
}
- protected MockRaftActorContext.SimpleReplicatedLog setLastLogEntry(MockRaftActorContext actorContext,
- ReplicatedLogEntry logEntry) {
+ protected MockRaftActorContext.SimpleReplicatedLog setLastLogEntry(final MockRaftActorContext actorContext,
+ final ReplicatedLogEntry logEntry) {
MockRaftActorContext.SimpleReplicatedLog log = new MockRaftActorContext.SimpleReplicatedLog();
log.append(logEntry);
actorContext.setReplicatedLog(log);
protected abstract T createBehavior(RaftActorContext actorContext);
- protected final T createBehavior(MockRaftActorContext actorContext) {
+ protected final T createBehavior(final MockRaftActorContext actorContext) {
T ret = createBehavior((RaftActorContext)actorContext);
actorContext.setCurrentBehavior(ret);
return ret;
return new MockRaftActorContext();
}
- protected MockRaftActorContext createActorContext(ActorRef actor) {
+ protected MockRaftActorContext createActorContext(final ActorRef actor) {
return new MockRaftActorContext("test", getSystem(), actor);
}
return new RequestVoteReply(100, false);
}
- protected ByteString toByteString(Map<String, String> state) {
+ protected ByteString toByteString(final Map<String, String> state) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try (ObjectOutputStream oos = new ObjectOutputStream(bos)) {
oos.writeObject(state);
}
}
- protected void logStart(String name) {
+ protected void logStart(final String name) {
LoggerFactory.getLogger(getClass()).info("Starting " + name);
}