X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Futils%2FForwardMessageToBehaviorActor.java;h=6c6f1905e44d58d1307aed8d499751050f0644a3;hp=9bcfcd9091281db235975bfbad3a9f0e04129c82;hb=e1eca73a5ae2ffae8dd78c6fe5281cd2f45d5ef3;hpb=7d131dccd0e29afda3e1d8ba0b3cb853d4407676 diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/utils/ForwardMessageToBehaviorActor.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/utils/ForwardMessageToBehaviorActor.java index 9bcfcd9091..6c6f1905e4 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/utils/ForwardMessageToBehaviorActor.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/utils/ForwardMessageToBehaviorActor.java @@ -8,18 +8,22 @@ package org.opendaylight.controller.cluster.raft.utils; +import static org.junit.Assert.assertTrue; + import akka.actor.Props; +import java.util.ArrayList; +import java.util.List; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; public class ForwardMessageToBehaviorActor extends MessageCollectorActor { - private RaftActorBehavior behavior; + private volatile RaftActorBehavior behavior; + private final List behaviorChanges = new ArrayList<>(); @Override public void onReceive(Object message) throws Exception { - if(behavior != null) { - behavior.handleMessage(sender(), message); + if (behavior != null) { + behaviorChanges.add(behavior.handleMessage(sender(), message)); } - super.onReceive(message); } @@ -27,8 +31,28 @@ public class ForwardMessageToBehaviorActor extends MessageCollectorActor { return Props.create(ForwardMessageToBehaviorActor.class); } - public void setBehavior(RaftActorBehavior behavior){ + public void setBehavior(RaftActorBehavior behavior) { this.behavior = behavior; } + + public RaftActorBehavior getFirstBehaviorChange() { + assertTrue("no behavior changes present", behaviorChanges.size() > 0); + return behaviorChanges.get(0); + } + + public RaftActorBehavior getLastBehaviorChange() { + assertTrue("no behavior changes present", behaviorChanges.size() > 0); + return behaviorChanges.get(behaviorChanges.size() - 1); + } + + public List getBehaviorChanges() { + return behaviorChanges; + } + + @Override + public void clear() { + super.clear(); + behaviorChanges.clear(); + } }