Complete Candidate behavior implementation
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / test / java / org / opendaylight / controller / cluster / raft / MockRaftActorContext.java
index 05dd9e8191d0397d8a6bce2d259d918953675cdf..c265388f6bb8d5d38f375a6b50930e9299a57387 100644 (file)
@@ -20,15 +20,20 @@ public class MockRaftActorContext implements RaftActorContext {
     private String id;
     private ActorSystem system;
     private ActorRef actor;
+    private AtomicLong index = new AtomicLong(0);
+    private AtomicLong lastApplied = new AtomicLong(0);
+    private final ElectionTerm electionTerm;
 
     public MockRaftActorContext(){
-
+        electionTerm = null;
     }
 
     public MockRaftActorContext(String id, ActorSystem system, ActorRef actor){
         this.id = id;
         this.system = system;
         this.actor = actor;
+
+        electionTerm = new ElectionTermImpl(id);
     }
 
     @Override public ActorRef actorOf(Props props) {
@@ -48,15 +53,23 @@ public class MockRaftActorContext implements RaftActorContext {
     }
 
     @Override public ElectionTerm getTermInformation() {
-        return new ElectionTermImpl(this.id);
+        return electionTerm;
+    }
+
+    public void setIndex(AtomicLong index){
+        this.index = index;
     }
 
     @Override public AtomicLong getCommitIndex() {
-        throw new UnsupportedOperationException("getCommitIndex");
+        return index;
+    }
+
+    public void setLastApplied(AtomicLong lastApplied){
+        this.lastApplied = lastApplied;
     }
 
     @Override public AtomicLong getLastApplied() {
-        throw new UnsupportedOperationException("getLastApplied");
+        return lastApplied;
     }
 
     @Override public ReplicatedLog getReplicatedLog() {
@@ -85,4 +98,8 @@ public class MockRaftActorContext implements RaftActorContext {
             }
         };
     }
+
+    @Override public ActorSystem getActorSystem() {
+        return this.system;
+    }
 }