mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-21 02:48:03 +01:00
Restore "may have messages" methods
This commit is contained in:
committed by
Jon Chambers
parent
f57093a94a
commit
ebdc5a30f8
@@ -194,6 +194,17 @@ class MessagesCacheTest {
|
||||
assertEquals(messagesToPreserve, get(DESTINATION_UUID, DESTINATION_DEVICE_ID, messageCount));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testHasMessagesAsync() {
|
||||
assertFalse(messagesCache.hasMessagesAsync(DESTINATION_UUID, DESTINATION_DEVICE_ID).join());
|
||||
|
||||
final UUID messageGuid = UUID.randomUUID();
|
||||
final MessageProtos.Envelope message = generateRandomMessage(messageGuid, true);
|
||||
messagesCache.insert(messageGuid, DESTINATION_UUID, DESTINATION_DEVICE_ID, message).join();
|
||||
|
||||
assertTrue(messagesCache.hasMessagesAsync(DESTINATION_UUID, DESTINATION_DEVICE_ID).join());
|
||||
}
|
||||
|
||||
@Test
|
||||
void getOldestTimestamp() {
|
||||
final int messageCount = 100;
|
||||
|
||||
@@ -12,6 +12,7 @@ import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoInteractions;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -185,6 +186,31 @@ class MessagesManagerTest {
|
||||
any());
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({
|
||||
"false, false, false",
|
||||
"false, true, true",
|
||||
"true, false, true",
|
||||
"true, true, true"
|
||||
})
|
||||
void mayHaveMessages(final boolean hasCachedMessages, final boolean hasPersistedMessages, final boolean expectMayHaveMessages) {
|
||||
final UUID accountIdentifier = UUID.randomUUID();
|
||||
final Device device = mock(Device.class);
|
||||
when(device.getId()).thenReturn(Device.PRIMARY_ID);
|
||||
|
||||
when(messagesCache.hasMessagesAsync(accountIdentifier, Device.PRIMARY_ID))
|
||||
.thenReturn(CompletableFuture.completedFuture(hasCachedMessages));
|
||||
|
||||
when(messagesDynamoDb.mayHaveMessages(accountIdentifier, device))
|
||||
.thenReturn(CompletableFuture.completedFuture(hasPersistedMessages));
|
||||
|
||||
if (hasCachedMessages) {
|
||||
verifyNoInteractions(messagesDynamoDb);
|
||||
}
|
||||
|
||||
assertEquals(expectMayHaveMessages, messagesManager.mayHaveMessages(accountIdentifier, device).join());
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({
|
||||
",,",
|
||||
|
||||
Reference in New Issue
Block a user