X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FShardTransactionTest.java;h=314f497a2377174f9857e003eaca4c588eebb609;hb=01be99539d7b19743a237b6e72d2d870491daf7a;hp=23984ad973933666d41fb60c762e18517181ef1a;hpb=608760751ce7fcf4e84e86a8b33d43bc1d9984d6;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTransactionTest.java index 23984ad973..314f497a23 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTransactionTest.java @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + package org.opendaylight.controller.cluster.datastore; import static org.junit.Assert.assertEquals; @@ -11,13 +19,10 @@ import akka.actor.Status.Failure; import akka.actor.Terminated; import akka.testkit.JavaTestKit; import akka.testkit.TestActorRef; -import java.util.Collections; import java.util.concurrent.TimeUnit; import org.junit.Test; import org.mockito.InOrder; import org.mockito.Mockito; -import org.opendaylight.controller.cluster.datastore.ShardWriteTransaction.GetCompositeModificationReply; -import org.opendaylight.controller.cluster.datastore.TransactionProxy.TransactionType; import org.opendaylight.controller.cluster.datastore.exceptions.UnknownMessageException; import org.opendaylight.controller.cluster.datastore.identifiers.ShardIdentifier; import org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard.ShardStats; @@ -39,10 +44,8 @@ import org.opendaylight.controller.cluster.datastore.messages.ReadyTransaction; import org.opendaylight.controller.cluster.datastore.messages.ReadyTransactionReply; import org.opendaylight.controller.cluster.datastore.messages.WriteData; import org.opendaylight.controller.cluster.datastore.messages.WriteDataReply; -import org.opendaylight.controller.cluster.datastore.modification.CompositeModification; import org.opendaylight.controller.cluster.datastore.modification.DeleteModification; import org.opendaylight.controller.cluster.datastore.modification.MergeModification; -import org.opendaylight.controller.cluster.datastore.modification.Modification; import org.opendaylight.controller.cluster.datastore.modification.WriteModification; import org.opendaylight.controller.cluster.datastore.node.NormalizedNodeToNodeCodec; import org.opendaylight.controller.cluster.datastore.node.NormalizedNodeToNodeCodec.Encoded; @@ -54,6 +57,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; +import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -73,13 +77,13 @@ public class ShardTransactionTest extends AbstractActorTest { private final ShardStats shardStats = new ShardStats(SHARD_IDENTIFIER.toString(), "DataStore"); - private final ShardDataTree store = new ShardDataTree(testSchemaContext); + private final ShardDataTree store = new ShardDataTree(testSchemaContext, TreeType.OPERATIONAL); private int txCounter = 0; private ActorRef createShard() { - return getSystem().actorOf(Shard.props(SHARD_IDENTIFIER, - Collections.emptyMap(), datastoreContext, TestModel.createTestContext())); + return getSystem().actorOf(Shard.builder().id(SHARD_IDENTIFIER).datastoreContext(datastoreContext). + schemaContext(TestModel.createTestContext()).props()); } private ActorRef newTransactionActor(TransactionType type, AbstractShardDataTreeTransaction transaction, String name) { @@ -243,19 +247,6 @@ public class ShardTransactionTest extends AbstractActorTest { }}; } - private void assertModification(final ActorRef subject, - final Class modificationType) { - new JavaTestKit(getSystem()) {{ - subject.tell(new ShardWriteTransaction.GetCompositedModification(), getRef()); - - CompositeModification compositeModification = expectMsgClass(duration("3 seconds"), - GetCompositeModificationReply.class).getModification(); - - assertTrue(compositeModification.getModifications().size() == 1); - assertEquals(modificationType, compositeModification.getModifications().get(0).getClass()); - }}; - } - @Test public void testOnReceiveWriteData() { new JavaTestKit(getSystem()) {{ @@ -268,8 +259,6 @@ public class ShardTransactionTest extends AbstractActorTest { expectMsgClass(duration("5 seconds"), ShardTransactionMessages.WriteDataReply.class); - assertModification(transaction, WriteModification.class); - // unserialized write transaction.tell(new WriteData(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME), DataStoreVersions.CURRENT_VERSION), @@ -294,8 +283,6 @@ public class ShardTransactionTest extends AbstractActorTest { transaction.tell(serialized, getRef()); expectMsgClass(duration("5 seconds"), ShardTransactionMessages.WriteDataReply.class); - - assertModification(transaction, WriteModification.class); }}; } @@ -311,8 +298,6 @@ public class ShardTransactionTest extends AbstractActorTest { expectMsgClass(duration("5 seconds"), ShardTransactionMessages.MergeDataReply.class); - assertModification(transaction, MergeModification.class); - //unserialized merge transaction.tell(new MergeData(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME), DataStoreVersions.CURRENT_VERSION), @@ -337,8 +322,6 @@ public class ShardTransactionTest extends AbstractActorTest { transaction.tell(serialized, getRef()); expectMsgClass(duration("5 seconds"), ShardTransactionMessages.MergeDataReply.class); - - assertModification(transaction, MergeModification.class); }}; } @@ -353,8 +336,6 @@ public class ShardTransactionTest extends AbstractActorTest { expectMsgClass(duration("5 seconds"), ShardTransactionMessages.DeleteDataReply.class); - assertModification(transaction, DeleteModification.class); - //unserialized transaction.tell(new DeleteData(TestModel.TEST_PATH, DataStoreVersions.CURRENT_VERSION), getRef()); @@ -392,25 +373,6 @@ public class ShardTransactionTest extends AbstractActorTest { BatchedModificationsReply reply = expectMsgClass(duration("5 seconds"), BatchedModificationsReply.class); assertEquals("getNumBatched", 3, reply.getNumBatched()); - JavaTestKit verification = new JavaTestKit(getSystem()); - transaction.tell(new ShardWriteTransaction.GetCompositedModification(), verification.getRef()); - - CompositeModification compositeModification = verification.expectMsgClass(duration("5 seconds"), - GetCompositeModificationReply.class).getModification(); - - assertEquals("CompositeModification size", 3, compositeModification.getModifications().size()); - - WriteModification write = (WriteModification)compositeModification.getModifications().get(0); - assertEquals("getPath", writePath, write.getPath()); - assertEquals("getData", writeData, write.getData()); - - MergeModification merge = (MergeModification)compositeModification.getModifications().get(1); - assertEquals("getPath", mergePath, merge.getPath()); - assertEquals("getData", mergeData, merge.getData()); - - DeleteModification delete = (DeleteModification)compositeModification.getModifications().get(2); - assertEquals("getPath", deletePath, delete.getPath()); - InOrder inOrder = Mockito.inOrder(mockModification); inOrder.verify(mockModification).write(writePath, writeData); inOrder.verify(mockModification).merge(mergePath, mergeData);