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%2FAbortTransactionTest.java;fp=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fmessages%2FAbortTransactionTest.java;h=78c26861e9691ae9c0b56c34e45d88f0458368d7;hb=5a4560d475f0ed328275f1a5c7a5dae292acfb02;hp=0000000000000000000000000000000000000000;hpb=0237fa09be264a2c70b6bb4b11bf1dcd503be97c;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/AbortTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/AbortTransactionTest.java new file mode 100644 index 0000000000..78c26861e9 --- /dev/null +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/AbortTransactionTest.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2016 Brocade Communications 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.messages; + +import static org.junit.Assert.assertEquals; +import java.io.Serializable; +import org.apache.commons.lang.SerializationUtils; +import org.junit.Test; +import org.opendaylight.controller.cluster.datastore.DataStoreVersions; +import org.opendaylight.controller.protobuff.messages.cohort3pc.ThreePhaseCommitCohortMessages; + +/** + * Unit tests for AbortTransaction. + * + * @author Thomas Pantelis + */ +public class AbortTransactionTest { + + @Test + public void testSerialization() { + AbortTransaction expected = new AbortTransaction("txId", DataStoreVersions.CURRENT_VERSION); + + Object serialized = expected.toSerializable(); + assertEquals("Serialized type", AbortTransaction.class, serialized.getClass()); + + AbortTransaction actual = AbortTransaction.fromSerializable( + SerializationUtils.clone((Serializable) serialized)); + assertEquals("getTransactionID", expected.getTransactionID(), actual.getTransactionID()); + assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); + } + + @Test + public void testSerializationWithPreBoronVersion() { + AbortTransaction expected = new AbortTransaction("txId", DataStoreVersions.LITHIUM_VERSION); + + Object serialized = expected.toSerializable(); + assertEquals("Serialized type", ThreePhaseCommitCohortMessages.AbortTransaction.class, serialized.getClass()); + + AbortTransaction actual = AbortTransaction.fromSerializable( + SerializationUtils.clone((Serializable) serialized)); + assertEquals("getTransactionID", expected.getTransactionID(), actual.getTransactionID()); + assertEquals("getVersion", DataStoreVersions.LITHIUM_VERSION, actual.getVersion()); + } + + @Test + public void testIsSerializedType() { + assertEquals("isSerializedType", true, AbortTransaction.isSerializedType( + ThreePhaseCommitCohortMessages.AbortTransaction.newBuilder().setTransactionId("").build())); + + assertEquals("isSerializedType", true, AbortTransaction.isSerializedType(new AbortTransaction())); + assertEquals("isSerializedType", false, AbortTransaction.isSerializedType(new Object())); + } +}