@Override protected void configure(CentralDogmaBuilder builder) { // Set up a cluster of two replicas where the second replica is always unavailable, final int quorumPort = InstanceSpec.getRandomPort(); final int electionPort = InstanceSpec.getRandomPort(); final int clientPort = InstanceSpec.getRandomPort(); builder.replication(new ZooKeeperReplicationConfig( 1, ImmutableMap.of(1, new ZooKeeperAddress("127.0.0.1", quorumPort, electionPort, clientPort), 2, new ZooKeeperAddress("127.0.0.1", 1, 1, 1)))); } };
@Test public void testJsonConversionWithoutOptionalProperties() throws Exception { final ReplicationConfig defaultCfg = Jackson.readValue( '{' + " \"method\": \"ZOOKEEPER\"," + " \"serverId\": 10," + " \"servers\": {" + " \"10\": {" + " \"host\": \"foo\"," + " \"quorumPort\": 100," + " \"electionPort\": 101" + " }," + " \"11\": {" + " \"host\": \"bar\"," + " \"quorumPort\": 200," + " \"electionPort\": 201" + " }" + " }" + '}', ReplicationConfig.class); assertThat(defaultCfg).isEqualTo( new ZooKeeperReplicationConfig( 10, ImmutableMap.of(10, new ZooKeeperAddress("foo", 100, 101, 0), 11, new ZooKeeperAddress("bar", 200, 201, 0)), null, null, null, null, null, null)); }
@Test public void testJsonConversion() throws Exception { final ZooKeeperReplicationConfig cfg = new ZooKeeperReplicationConfig( 1, ImmutableMap.of(1, new ZooKeeperAddress("2", 3, 4, 5), 6, new ZooKeeperAddress("7", 8, 9, 10)), "11", ImmutableMap.of("12", "13", "14", "15"), 16, 17, 18, 19); assertJsonConversion(cfg, ReplicationConfig.class,
new ZooKeeperAddress("127.0.0.1", spec.getQuorumPort(), spec.getElectionPort(), 0));
1, new ZooKeeperAddress("127.0.0.1", zkQuorumPort1, zkElectionPort1, zkClientPort1), 2, new ZooKeeperAddress("127.0.0.1", zkQuorumPort2, zkElectionPort2, zkClientPort2));