}
private void verifyPersist(Object message) throws Exception {
- verifyPersist(message, new Same(message));
+ verifyPersist(message, new Same(message), true);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
- private void verifyPersist(Object message, Matcher<?> matcher) throws Exception {
+ private void verifyPersist(Object message, Matcher<?> matcher, boolean async) throws Exception {
ArgumentCaptor<Procedure> procedure = ArgumentCaptor.forClass(Procedure.class);
- verify(mockPersistence).persist(Matchers.argThat(matcher), procedure.capture());
+ if (async) {
+ verify(mockPersistence).persistAsync(Matchers.argThat(matcher), procedure.capture());
+ } else {
+ verify(mockPersistence).persist(Matchers.argThat(matcher), procedure.capture());
+ }
procedure.getValue().apply(message);
}
MockReplicatedLogEntry logEntry1 = new MockReplicatedLogEntry(1, 1, new MockPayload("1"));
- log.appendAndPersist(logEntry1);
+ log.appendAndPersist(logEntry1, null, true);
verifyPersist(logEntry1);
MockReplicatedLogEntry logEntry2 = new MockReplicatedLogEntry(1, 2, new MockPayload("2"));
Procedure<ReplicatedLogEntry> mockCallback = Mockito.mock(Procedure.class);
- log.appendAndPersist(logEntry2, mockCallback);
+ log.appendAndPersist(logEntry2, mockCallback, true);
verifyPersist(logEntry2);
Procedure<ReplicatedLogEntry> mockCallback = Mockito.mock(Procedure.class);
MockReplicatedLogEntry logEntry = new MockReplicatedLogEntry(1, 1, new MockPayload("1"));
- log.appendAndPersist(logEntry, mockCallback);
+ log.appendAndPersist(logEntry, mockCallback, true);
verifyPersist(logEntry);
reset(mockPersistence, mockCallback);
- log.appendAndPersist(logEntry, mockCallback);
+ log.appendAndPersist(logEntry, mockCallback, true);
verifyNoMoreInteractions(mockPersistence, mockCallback);
final MockReplicatedLogEntry logEntry1 = new MockReplicatedLogEntry(1, 2, new MockPayload("2"));
final MockReplicatedLogEntry logEntry2 = new MockReplicatedLogEntry(1, 3, new MockPayload("3"));
- log.appendAndPersist(logEntry1);
+ log.appendAndPersist(logEntry1, null, true);
verifyPersist(logEntry1);
reset(mockPersistence);
- log.appendAndPersist(logEntry2);
+ log.appendAndPersist(logEntry2, null, true);
verifyPersist(logEntry2);
int dataSize = 600;
MockReplicatedLogEntry logEntry = new MockReplicatedLogEntry(1, 2, new MockPayload("2", dataSize));
- log.appendAndPersist(logEntry);
+ log.appendAndPersist(logEntry, null, true);
verifyPersist(logEntry);
reset(mockPersistence);
logEntry = new MockReplicatedLogEntry(1, 3, new MockPayload("3", 5));
- log.appendAndPersist(logEntry);
+ log.appendAndPersist(logEntry, null, true);
verifyPersist(logEntry);
assertEquals("size", 2, log.size());
log.removeFromAndPersist(1);
DeleteEntries deleteEntries = new DeleteEntries(1);
- verifyPersist(deleteEntries, match(deleteEntries));
+ verifyPersist(deleteEntries, match(deleteEntries), false);
assertEquals("size", 1, log.size());