use of com.palantir.paxos.BooleanPaxosResponse in project atlasdb by palantir.
the class AcceptCoalescingFunctionTests method canProcessBatch.
@Test
public void canProcessBatch() {
PaxosProposal client1seq1Proposal = proposal(1);
PaxosProposal client1seq2Proposal = proposal(2);
PaxosProposal client2seq1Proposal = proposal(1);
SetMultimap<Client, PaxosProposal> requests = ImmutableSetMultimap.<Client, PaxosProposal>builder().put(CLIENT_1, client1seq1Proposal).put(CLIENT_1, client1seq2Proposal).put(CLIENT_2, client2seq1Proposal).build();
SetMultimap<Client, WithSeq<BooleanPaxosResponse>> remoteResponse = ImmutableSetMultimap.<Client, WithSeq<BooleanPaxosResponse>>builder().put(CLIENT_1, success(client1seq1Proposal)).put(CLIENT_1, failure(client1seq2Proposal)).put(CLIENT_2, success(client2seq1Proposal)).build();
when(remote.accept(requests)).thenReturn(remoteResponse);
AcceptCoalescingFunction function = new AcceptCoalescingFunction(remote);
Map<Map.Entry<Client, PaxosProposal>, BooleanPaxosResponse> result = ImmutableMap.copyOf(function.apply(requests.entries()));
assertContains(result, CLIENT_1, client1seq1Proposal, success(client1seq1Proposal).value());
assertContains(result, CLIENT_1, client1seq2Proposal, failure(client1seq2Proposal).value());
assertContains(result, CLIENT_2, client2seq1Proposal, success(client2seq1Proposal).value());
}
Aggregations