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%2Fmessages%2FReadyLocalTransactionSerializerTest.java;h=fc09965ccc027b43b74f5b4cf84af987c5711c69;hb=9b319f491af1c65705b69e8a182aab5006a2f959;hp=3ff8163f7d0df512401b0347dd8d6c4d818e15a6;hpb=5464f50be733df1bbbe31cf05665d542d3b7c5e7;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransactionSerializerTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransactionSerializerTest.java index 3ff8163f7d..fc09965ccc 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransactionSerializerTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransactionSerializerTest.java @@ -9,8 +9,15 @@ package org.opendaylight.controller.cluster.datastore.messages; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import akka.actor.ExtendedActorSystem; +import akka.testkit.javadsl.TestKit; +import com.google.common.collect.ImmutableSortedSet; +import java.io.NotSerializableException; import java.util.List; +import java.util.Optional; +import java.util.SortedSet; import org.junit.Test; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.AbstractTest; @@ -21,9 +28,9 @@ import org.opendaylight.controller.cluster.datastore.modification.WriteModificat import org.opendaylight.controller.md.cluster.datastore.model.TestModel; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.TipProducingDataTree; -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.tree.InMemoryDataTreeFactory; @@ -35,9 +42,9 @@ import org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeFac public class ReadyLocalTransactionSerializerTest extends AbstractTest { @Test - public void testToAndFromBinary() { - TipProducingDataTree dataTree = InMemoryDataTreeFactory.getInstance().create(TreeType.OPERATIONAL); - dataTree.setSchemaContext(TestModel.createTestContext()); + public void testToAndFromBinary() throws NotSerializableException { + DataTree dataTree = new InMemoryDataTreeFactory().create( + DataTreeConfiguration.DEFAULT_OPERATIONAL, TestModel.createTestContext()); DataTreeModification modification = dataTree.takeSnapshot().newModification(); ContainerNode writeData = ImmutableNodes.containerNode(TestModel.TEST_QNAME); @@ -45,20 +52,30 @@ public class ReadyLocalTransactionSerializerTest extends AbstractTest { MapNode mergeData = ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME).build(); new MergeModification(TestModel.OUTER_LIST_PATH, mergeData).apply(modification); + final SortedSet shardNames = ImmutableSortedSet.of("one", "two"); TransactionIdentifier txId = nextTransactionId(); - ReadyLocalTransaction readyMessage = new ReadyLocalTransaction(txId, modification, true); + ReadyLocalTransaction readyMessage = new ReadyLocalTransaction(txId, modification, true, + Optional.of(shardNames)); - ReadyLocalTransactionSerializer serializer = new ReadyLocalTransactionSerializer(); - - byte[] bytes = serializer.toBinary(readyMessage); - - Object deserialized = serializer.fromBinary(bytes, ReadyLocalTransaction.class); + final ExtendedActorSystem system = (ExtendedActorSystem) ExtendedActorSystem.create("test"); + final Object deserialized; + try { + final ReadyLocalTransactionSerializer serializer = new ReadyLocalTransactionSerializer(system); + final byte[] bytes = serializer.toBinary(readyMessage); + deserialized = serializer.fromBinary(bytes, ReadyLocalTransaction.class); + } finally { + TestKit.shutdownActorSystem(system); + } assertNotNull("fromBinary returned null", deserialized); assertEquals("fromBinary return type", BatchedModifications.class, deserialized.getClass()); BatchedModifications batched = (BatchedModifications)deserialized; - assertEquals("getTransactionID", txId, batched.getTransactionID()); + assertEquals("getTransactionID", txId, batched.getTransactionId()); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, batched.getVersion()); + assertTrue("isReady", batched.isReady()); + assertTrue("isDoCommitOnReady", batched.isDoCommitOnReady()); + assertTrue("participatingShardNames present", batched.getParticipatingShardNames().isPresent()); + assertEquals("participatingShardNames", shardNames, batched.getParticipatingShardNames().get()); List batchedMods = batched.getModifications(); assertEquals("getModifications size", 2, batchedMods.size());