X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futils%2FMockActorContext.java;h=8fa3a17f901541f79be1ec45a373ebe097ba69a1;hp=12f80fb906a37eab9c0ad9da3cc1389665196fb1;hb=b10d77375b5a290143106180f1583ea4e18f8478;hpb=fe4049d34de103016d11f3a9050853c6380646d3 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockActorContext.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockActorContext.java index 12f80fb906..8fa3a17f90 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockActorContext.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockActorContext.java @@ -8,34 +8,36 @@ package org.opendaylight.controller.cluster.datastore.utils; - +import static org.junit.Assert.assertNotNull; import akka.actor.ActorRef; import akka.actor.ActorSelection; import akka.actor.ActorSystem; -import scala.concurrent.duration.FiniteDuration; public class MockActorContext extends ActorContext { - private Object executeShardOperationResponse; - private Object executeRemoteOperationResponse; - private Object executeLocalOperationResponse; + private volatile Object executeShardOperationResponse; + private volatile Object executeRemoteOperationResponse; + private volatile Object executeLocalOperationResponse; + private volatile Object executeLocalShardOperationResponse; + private volatile Exception executeRemoteOperationFailure; + private volatile Object inputMessage; public MockActorContext(ActorSystem actorSystem) { - super(actorSystem, null, new MockConfiguration()); + super(actorSystem, null, new MockClusterWrapper(), new MockConfiguration()); } public MockActorContext(ActorSystem actorSystem, ActorRef shardManager) { - super(actorSystem, shardManager, new MockConfiguration()); + super(actorSystem, shardManager, new MockClusterWrapper(), new MockConfiguration()); } @Override public Object executeShardOperation(String shardName, - Object message, FiniteDuration duration) { + Object message) { return executeShardOperationResponse; } @Override public Object executeRemoteOperation(ActorSelection actor, - Object message, FiniteDuration duration) { + Object message) { return executeRemoteOperationResponse; } @@ -51,8 +53,35 @@ public class MockActorContext extends ActorContext { executeRemoteOperationResponse = response; } + public void setExecuteRemoteOperationFailure(Exception executeRemoteOperationFailure) { + this.executeRemoteOperationFailure = executeRemoteOperationFailure; + } + public void setExecuteLocalOperationResponse( Object executeLocalOperationResponse) { this.executeLocalOperationResponse = executeLocalOperationResponse; } + + public void setExecuteLocalShardOperationResponse( + Object executeLocalShardOperationResponse) { + this.executeLocalShardOperationResponse = executeLocalShardOperationResponse; + } + + @SuppressWarnings("unchecked") + public T getInputMessage(Class expType) throws Exception { + assertNotNull("Input message was null", inputMessage); + return (T) expType.getMethod("fromSerializable", Object.class).invoke(null, inputMessage); + } + + @Override + public Object executeLocalOperation(ActorRef actor, + Object message) { + return this.executeLocalOperationResponse; + } + + @Override + public Object executeLocalShardOperation(String shardName, + Object message) { + return this.executeLocalShardOperationResponse; + } }