@Test public void weAreOneOfThePotentialLeaders() throws Exception { PingableLeader other = mock(PingableLeader.class); PaxosLeaderElectionService service = new PaxosLeaderElectionServiceBuilder() .proposer(mock(PaxosProposer.class)) .knowledge(mock(PaxosLearner.class)) .potentialLeadersToHosts(ImmutableMap.of(other, HostAndPort.fromHost("other"))) .acceptors(ImmutableList.of()) .learners(ImmutableList.of()) .executor(Executors.newSingleThreadExecutor()) .pingRateMs(0L) .randomWaitBeforeProposingLeadershipMs(0L) .leaderPingResponseWaitMs(0L) .eventRecorder(mock(PaxosLeadershipEventRecorder.class)) .onlyLogOnQuorumFailure(() -> true) .build(); assertThat(service.getPotentialLeaders()).containsExactlyInAnyOrder(other, service); }
.proposer(proposer) .knowledge(ourLearner) .potentialLeadersToHosts(otherLeaders) .acceptors(acceptors) .learners(learners)
.proposer(proposer) .knowledge(learners.get(i)) .potentialLeadersToHosts(ImmutableMap.<PingableLeader, HostAndPort>of()) .acceptors(acceptors) .learners(learners)
.proposer(proposer) .knowledge(ourLearner) .potentialLeadersToHosts(otherLeaders) .acceptors(acceptors) .learners(learners)