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.cluster.raft.ServerConfigurationPayload;
+import org.opendaylight.controller.cluster.raft.ServerConfigurationPayload.ServerInfo;
import org.opendaylight.controller.protobuff.messages.cluster.raft.InstallSnapshotMessages;
/**
}
}
- InstallSnapshot expected = new InstallSnapshot(3L, "leaderId", 11L, 2L, data, 5, 6, Optional.<Integer>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.<Integer>of(54321), Optional.of(serverConfig));
Object serialized = expected.toSerializable(RaftVersions.CURRENT_VERSION);
assertEquals("Serialized type", InstallSnapshot.class, serialized.getClass());
@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.<Integer>of(54321));
+ InstallSnapshot expected = new InstallSnapshot(3L, "leaderId", 11L, 2L, data, 5, 6, Optional.<Integer>of(54321),
+ Optional.<ServerConfigurationPayload>absent());
Object serialized = expected.toSerializable(RaftVersions.LITHIUM_VERSION);
assertEquals("Serialized type", InstallSnapshot.SERIALIZABLE_CLASS, serialized.getClass());
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()) {
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());
+ }
}
}