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=0bd7d5c67d90a17fc11413e0d2f7592fbefa7d26;hp=9bcfcd9091281db235975bfbad3a9f0e04129c82;hb=0f02b7edeb1454c1a568f0f1b050757e7503ddf7;hpb=b5e3b3f436f8534ddb6c7f326ccbef995b96ddc3 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..0bd7d5c67d 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,27 @@ 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; + } + + public void clear() { + clearMessages(getSelf()); + behaviorChanges.clear(); + } }