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=b19fd3a5290b2c8df92917403d7a501bcf79bfcf;hp=fe62516098253c8dbe9f19424854578c1fe0120f;hb=9228eee6e438894b091f7bee8a4ba7b53286ef8f;hpb=b2e6c299fad844633c8b40a2e180780f5774a4ae 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 fe62516098..b19fd3a529 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,7 +8,7 @@ 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; @@ -16,16 +16,19 @@ 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); + super(actorSystem, null, new MockClusterWrapper(), new MockConfiguration()); } public MockActorContext(ActorSystem actorSystem, ActorRef shardManager) { - super(actorSystem, shardManager); + super(actorSystem, shardManager, new MockClusterWrapper(), new MockConfiguration()); } @@ -51,10 +54,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, FiniteDuration duration) { + return this.executeLocalOperationResponse; + } + + @Override + public Object executeLocalShardOperation(String shardName, + Object message, FiniteDuration duration) { + return this.executeLocalShardOperationResponse; + } }