@Test
public void testUpdatePeerIds() {

    RaftActorContextImpl context = new RaftActorContextImpl(actor, actor.underlyingActor().getContext(),
            "self", new ElectionTermImpl(createProvider(), "test", LOG), -1, -1,
            new HashMap<>(ImmutableMap.of("peer1", "peerAddress1")),
            new DefaultConfigParamsImpl(), createProvider(), applyState -> { }, LOG,
            MoreExecutors.directExecutor());
    context.updatePeerIds(new ServerConfigurationPayload(Arrays.asList(new ServerInfo("self", false),
            new ServerInfo("peer2", true), new ServerInfo("peer3", false))));
    verifyPeerInfo(context, "peer1", null);
    verifyPeerInfo(context, "peer2", true);
    verifyPeerInfo(context, "peer3", false);
    assertEquals("isVotingMember", false, context.isVotingMember());
    context.updatePeerIds(new ServerConfigurationPayload(Arrays.asList(new ServerInfo("self", true),
            new ServerInfo("peer2", true), new ServerInfo("peer3", true))));
    verifyPeerInfo(context, "peer2", true);
    verifyPeerInfo(context, "peer3", true);
    assertEquals("isVotingMember", true, context.isVotingMember());
    context.updatePeerIds(new ServerConfigurationPayload(Arrays.asList(new ServerInfo("peer2", true),
            new ServerInfo("peer3", true))));
    verifyPeerInfo(context, "peer2", true);
    verifyPeerInfo(context, "peer3", true);
    assertEquals("isVotingMember", false, context.isVotingMember());
}