- ShardTransactionMessages.DataExists dataExists =
- ShardTransactionMessages.DataExists.newBuilder()
- .setInstanceIdentifierPathArguments(
- NormalizedNodeMessages.InstanceIdentifier.newBuilder()
- .build()
- ).build();
-
- Future<Object> future =
- akka.pattern.Patterns.ask(subject, dataExists, 3000);
- Await.result(future, Duration.create(3, TimeUnit.SECONDS));
-
- subject.underlyingActor().getDOMStoreTransaction().abort();
-
- future = akka.pattern.Patterns.ask(subject, dataExists, 3000);
- Await.result(future, Duration.create(3, TimeUnit.SECONDS));
- }
-
- @Test(expected = AskTimeoutException.class)
- public void testNegativeWriteWithTransactionReady() throws Exception {
-
-
- final ActorRef shard = createShard();
- final Props props = ShardTransaction.props(WO, store.newReadWriteTransaction("test-txn", null), shard,
- datastoreContext, shardStats, "txn", DataStoreVersions.CURRENT_VERSION);
-
- final TestActorRef<ShardTransaction> subject = TestActorRef
- .create(getSystem(), props,
- "testNegativeWriteWithTransactionReady");
-
- ShardTransactionMessages.ReadyTransaction readyTransaction =
- ShardTransactionMessages.ReadyTransaction.newBuilder().build();
-
- Future<Object> future =
- akka.pattern.Patterns.ask(subject, readyTransaction, 3000);
- Await.result(future, Duration.create(3, TimeUnit.SECONDS));
-
- ShardTransactionMessages.WriteData writeData =
- ShardTransactionMessages.WriteData.newBuilder()
- .setInstanceIdentifierPathArguments(
- NormalizedNodeMessages.InstanceIdentifier.newBuilder()
- .build()).setNormalizedNode(
- buildNormalizedNode()
-
- ).build();
-
- future = akka.pattern.Patterns.ask(subject, writeData, 3000);
- Await.result(future, Duration.create(3, TimeUnit.SECONDS));
- }
-
- @Test(expected = AskTimeoutException.class)
- public void testNegativeReadWriteWithTransactionReady() throws Exception {
-
-
- final ActorRef shard = createShard();
- final Props props = ShardTransaction.props(RW, store.newReadWriteTransaction("test-txn", null), shard,
- datastoreContext, shardStats, "txn", DataStoreVersions.CURRENT_VERSION);
-
- final TestActorRef<ShardTransaction> subject = TestActorRef
- .create(getSystem(), props,
- "testNegativeReadWriteWithTransactionReady");
-
- ShardTransactionMessages.ReadyTransaction readyTransaction =
- ShardTransactionMessages.ReadyTransaction.newBuilder().build();
-
- Future<Object> future =
- akka.pattern.Patterns.ask(subject, readyTransaction, 3000);
- Await.result(future, Duration.create(3, TimeUnit.SECONDS));
-
- ShardTransactionMessages.WriteData writeData =
- ShardTransactionMessages.WriteData.newBuilder()
- .setInstanceIdentifierPathArguments(
- NormalizedNodeMessages.InstanceIdentifier.newBuilder()
- .build()
- )
- .setNormalizedNode(buildNormalizedNode())
- .build();
-
- future = akka.pattern.Patterns.ask(subject, writeData, 3000);
- Await.result(future, Duration.create(3, TimeUnit.SECONDS));
- }
-
- private NormalizedNodeMessages.Node buildNormalizedNode() {
- return NormalizedNodeSerializer
- .serialize(Builders.containerBuilder().withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TestModel.TEST_QNAME)).build());
- }
-
- @Test(expected = AskTimeoutException.class)
- public void testNegativeMergeTransactionReady() throws Exception {
-
-
- final ActorRef shard = createShard();
- final Props props = ShardTransaction.props(RW, store.newReadWriteTransaction("test-txn", null), shard,
- datastoreContext, shardStats, "txn", DataStoreVersions.CURRENT_VERSION);
-
- final TestActorRef<ShardTransaction> subject = TestActorRef
- .create(getSystem(), props, "testNegativeMergeTransactionReady");
-
- ShardTransactionMessages.ReadyTransaction readyTransaction =
- ShardTransactionMessages.ReadyTransaction.newBuilder().build();
-
- Future<Object> future =
- akka.pattern.Patterns.ask(subject, readyTransaction, 3000);
- Await.result(future, Duration.create(3, TimeUnit.SECONDS));
-
- ShardTransactionMessages.MergeData mergeData =
- ShardTransactionMessages.MergeData.newBuilder()
- .setInstanceIdentifierPathArguments(
- NormalizedNodeMessages.InstanceIdentifier.newBuilder()
- .build()).setNormalizedNode(
- buildNormalizedNode()
-
- ).build();
-
- future = akka.pattern.Patterns.ask(subject, mergeData, 3000);
- Await.result(future, Duration.create(3, TimeUnit.SECONDS));
- }
-
-
- @Test(expected = AskTimeoutException.class)
- public void testNegativeDeleteDataWhenTransactionReady() throws Exception {
-
-
- final ActorRef shard = createShard();
- final Props props = ShardTransaction.props(RW, store.newReadWriteTransaction("test-txn", null), shard,
- datastoreContext, shardStats, "txn", DataStoreVersions.CURRENT_VERSION);
-
- final TestActorRef<ShardTransaction> subject = TestActorRef
- .create(getSystem(), props,
- "testNegativeDeleteDataWhenTransactionReady");
-
- ShardTransactionMessages.ReadyTransaction readyTransaction =
- ShardTransactionMessages.ReadyTransaction.newBuilder().build();
-
- Future<Object> future =
- akka.pattern.Patterns.ask(subject, readyTransaction, 3000);