X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fmessages%2FInstallSnapshotTest.java;h=62a3e274283cc29e6c9f6650cc8ffb975fe09673;hp=1d60158dce6311050af7bd3cb5a7d6403a52bddb;hb=e1eca73a5ae2ffae8dd78c6fe5281cd2f45d5ef3;hpb=a52d25ffbfe41e0b2f507efdef1ebee6bbc771c1 diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshotTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshotTest.java index 1d60158dce..62a3e27428 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshotTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/messages/InstallSnapshotTest.java @@ -9,12 +9,15 @@ package org.opendaylight.controller.cluster.raft.messages; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; + import com.google.common.base.Optional; import java.io.Serializable; +import java.util.Arrays; import org.apache.commons.lang.SerializationUtils; import org.junit.Test; import org.opendaylight.controller.cluster.raft.RaftVersions; -import org.opendaylight.controller.protobuff.messages.cluster.raft.InstallSnapshotMessages; +import org.opendaylight.controller.cluster.raft.persisted.ServerConfigurationPayload; +import org.opendaylight.controller.cluster.raft.persisted.ServerInfo; /** * Unit tests for InstallSnapshot. @@ -26,48 +29,30 @@ public class InstallSnapshotTest { @Test public void testSerialization() { byte[] data = new byte[1000]; - int j = 0; - for(int i = 0; i < data.length; i++) { + for (int i = 0, j = 0; i < data.length; i++) { data[i] = (byte)j; - if(++j >= 255) { + if (++j >= 255) { j = 0; } } - InstallSnapshot expected = new InstallSnapshot(3L, "leaderId", 11L, 2L, data, 5, 6, Optional.of(54321)); + ServerConfigurationPayload serverConfig = new ServerConfigurationPayload(Arrays.asList( + new ServerInfo("leader", true), new ServerInfo("follower", false))); + InstallSnapshot expected = new InstallSnapshot(3L, "leaderId", 11L, 2L, data, 5, 6, + Optional.of(54321), Optional.of(serverConfig)); Object serialized = expected.toSerializable(RaftVersions.CURRENT_VERSION); assertEquals("Serialized type", InstallSnapshot.class, serialized.getClass()); - InstallSnapshot actual = InstallSnapshot.fromSerializable(SerializationUtils.clone((Serializable) serialized)); + InstallSnapshot actual = (InstallSnapshot) SerializationUtils.clone((Serializable) serialized); verifyInstallSnapshot(expected, actual); expected = new InstallSnapshot(3L, "leaderId", 11L, 2L, data, 5, 6); - actual = InstallSnapshot.fromSerializable(SerializationUtils.clone( - (Serializable) expected.toSerializable(RaftVersions.CURRENT_VERSION))); - verifyInstallSnapshot(expected, actual); - } - - @Test - public void testSerializationWithPreBoronVersion() { - byte[] data = {0,1,2,3,4,5,7,8,9}; - InstallSnapshot expected = new InstallSnapshot(3L, "leaderId", 11L, 2L, data, 5, 6, Optional.of(54321)); - - Object serialized = expected.toSerializable(RaftVersions.LITHIUM_VERSION); - assertEquals("Serialized type", InstallSnapshot.SERIALIZABLE_CLASS, serialized.getClass()); - - InstallSnapshot actual = InstallSnapshot.fromSerializable(SerializationUtils.clone((Serializable) serialized)); + actual = (InstallSnapshot) SerializationUtils.clone((Serializable) expected.toSerializable( + RaftVersions.CURRENT_VERSION)); verifyInstallSnapshot(expected, actual); } - @Test - public void testIsSerializedType() { - assertEquals("isSerializedType", true, InstallSnapshot.isSerializedType( - InstallSnapshotMessages.InstallSnapshot.newBuilder().build())); - assertEquals("isSerializedType", true, InstallSnapshot.isSerializedType(new InstallSnapshot())); - assertEquals("isSerializedType", false, InstallSnapshot.isSerializedType(new Object())); - } - private static void verifyInstallSnapshot(InstallSnapshot expected, InstallSnapshot actual) { assertEquals("getTerm", expected.getTerm(), actual.getTerm()); assertEquals("getChunkIndex", expected.getChunkIndex(), actual.getChunkIndex()); @@ -77,11 +62,19 @@ public class InstallSnapshotTest { assertEquals("getLeaderId", expected.getLeaderId(), actual.getLeaderId()); assertEquals("getChunkIndex", expected.getChunkIndex(), actual.getChunkIndex()); assertArrayEquals("getData", expected.getData(), actual.getData()); + assertEquals("getLastChunkHashCode present", expected.getLastChunkHashCode().isPresent(), actual.getLastChunkHashCode().isPresent()); - if(expected.getLastChunkHashCode().isPresent()) { + if (expected.getLastChunkHashCode().isPresent()) { assertEquals("getLastChunkHashCode", expected.getLastChunkHashCode().get(), actual.getLastChunkHashCode().get()); } + + assertEquals("getServerConfig present", expected.getServerConfig().isPresent(), + actual.getServerConfig().isPresent()); + if (expected.getServerConfig().isPresent()) { + assertEquals("getServerConfig", expected.getServerConfig().get().getServerConfig(), + actual.getServerConfig().get().getServerConfig()); + } } }