import akka.actor.Props;
import akka.dispatch.Dispatchers;
import akka.japi.Creator;
+import akka.pattern.Patterns;
import akka.testkit.TestActorRef;
+import akka.util.Timeout;
import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.util.concurrent.Futures;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.After;
import org.junit.Assert;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
import org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeFactory;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import scala.concurrent.Await;
+import scala.concurrent.Future;
+import scala.concurrent.duration.Duration;
/**
* Abstract base for shard unit tests.
String transactionID, short version, boolean doCommitOnReady) {
return new ForwardedReadyTransaction(transactionID, version,
new ReadWriteShardDataTreeTransaction(newShardDataTreeTransactionParent(cohort), transactionID,
- mock(DataTreeModification.class)), true, doCommitOnReady);
+ mock(DataTreeModification.class)), doCommitOnReady);
}
protected Object prepareReadyTransactionMessage(boolean remoteReadWriteTransaction, Shard shard, ShardDataTreeCohort cohort,
public static void writeToStore(final TestActorRef<Shard> shard, final YangInstanceIdentifier id,
final NormalizedNode<?,?> node) throws InterruptedException, ExecutionException {
- writeToStore(shard.underlyingActor().getDataStore(), id, node);
+ Future<Object> future = Patterns.ask(shard, newBatchedModifications("tx", id, node, true, true, 1),
+ new Timeout(5, TimeUnit.SECONDS));
+ try {
+ Await.ready(future, Duration.create(5, TimeUnit.SECONDS));
+ } catch(TimeoutException e) {
+ throw new ExecutionException(e);
+ }
}
public static void writeToStore(final ShardDataTree store, final YangInstanceIdentifier id,
final DataTreeCandidateNode mockCandidateNode = mock(DataTreeCandidateNode.class, name + "-node");
doReturn(ModificationType.WRITE).when(mockCandidateNode).getModificationType();
doReturn(Optional.of(ImmutableNodes.containerNode(CarsModel.CARS_QNAME))).when(mockCandidateNode).getDataAfter();
- doReturn(YangInstanceIdentifier.builder().build()).when(mockCandidate).getRootPath();
+ doReturn(CarsModel.BASE_PATH).when(mockCandidate).getRootPath();
doReturn(mockCandidateNode).when(mockCandidate).getRootNode();
return mockCandidate;
}