mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-20 22:48:03 +01:00
Add methods for iterating over all account identifiers
This commit is contained in:
committed by
Jon Chambers
parent
b203344ed4
commit
b8b17ae473
@@ -30,10 +30,12 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Base64;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.CompletionException;
|
||||
@@ -56,6 +58,7 @@ import org.junit.jupiter.params.provider.ValueSource;
|
||||
import org.signal.libsignal.zkgroup.backups.BackupCredentialType;
|
||||
import org.whispersystems.textsecuregcm.auth.UnidentifiedAccessUtil;
|
||||
import org.whispersystems.textsecuregcm.configuration.dynamic.DynamicConfiguration;
|
||||
import org.whispersystems.textsecuregcm.identity.IdentityType;
|
||||
import org.whispersystems.textsecuregcm.storage.DynamoDbExtensionSchema.Tables;
|
||||
import org.whispersystems.textsecuregcm.tests.util.AccountsHelper;
|
||||
import org.whispersystems.textsecuregcm.tests.util.DevicesHelper;
|
||||
@@ -731,6 +734,22 @@ class AccountsTest {
|
||||
retrievedAccounts.stream().map(Account::getUuid).collect(Collectors.toSet()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetAllAccountIdentifiers() {
|
||||
final Set<UUID> expectedAccountIdentifiers = new HashSet<>();
|
||||
|
||||
for (int i = 1; i <= 100; i++) {
|
||||
final Account account = generateAccount("+1" + String.format("%03d", i), UUID.randomUUID(), UUID.randomUUID());
|
||||
expectedAccountIdentifiers.add(account.getIdentifier(IdentityType.ACI));
|
||||
createAccount(account);
|
||||
}
|
||||
|
||||
@SuppressWarnings("DataFlowIssue") final Set<UUID> retrievedAccountIdentifiers =
|
||||
new HashSet<>(accounts.getAllAccountIdentifiers(2, Schedulers.parallel()).collectList().block());
|
||||
|
||||
assertEquals(expectedAccountIdentifiers, retrievedAccountIdentifiers);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDelete() {
|
||||
final Device deletedDevice = generateDevice(DEVICE_ID_1);
|
||||
|
||||
Reference in New Issue
Block a user