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=81b6bccaf08ea0f35b5d4ed8c8a0fea8f3524796;hp=12f80fb906a37eab9c0ad9da3cc1389665196fb1;hb=531621aac4cff9d39cbd8668a53bdeba8a0e6d81;hpb=d255fdd0b14660a22ff63771d954ac3fe5d0cb7e 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..81b6bccaf0 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,39 +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; +import com.google.common.base.Optional; 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()); - } - - - @Override public Object executeShardOperation(String shardName, - Object message, FiniteDuration duration) { - return executeShardOperationResponse; + super(actorSystem, shardManager, new MockClusterWrapper(), new MockConfiguration()); } - @Override public Object executeRemoteOperation(ActorSelection actor, - Object message, FiniteDuration duration) { + @Override public Object executeOperation(ActorSelection actor, + Object message) { return executeRemoteOperationResponse; } - @Override public ActorSelection findPrimary(String shardName) { - return null; + @Override public Optional findPrimaryShard(String shardName) { + return Optional.absent(); } public void setExecuteShardOperationResponse(Object response){ @@ -51,8 +48,30 @@ 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 executeOperation(ActorRef actor, + Object message) { + return this.executeLocalOperationResponse; + } + }