Add additional tests for AccountStore#create

This commit is contained in:
Chris Eager 2021-05-17 11:22:30 -05:00 committed by Chris Eager
parent 85e4de6933
commit 282f39141e
2 changed files with 24 additions and 10 deletions

View File

@ -109,9 +109,15 @@ class AccountsDynamoDbTest {
Device device = generateDevice (1 ); Device device = generateDevice (1 );
Account account = generateAccount("+14151112222", UUID.randomUUID(), Collections.singleton(device)); Account account = generateAccount("+14151112222", UUID.randomUUID(), Collections.singleton(device));
accountsDynamoDb.create(account); boolean freshUser = accountsDynamoDb.create(account);
assertThat(freshUser).isTrue();
verifyStoredState("+14151112222", account.getUuid(), account); verifyStoredState("+14151112222", account.getUuid(), account);
freshUser = accountsDynamoDb.create(account);
assertThat(freshUser).isTrue();
verifyStoredState("+14151112222", account.getUuid(), account);
} }
@Test @Test
@ -180,7 +186,8 @@ class AccountsDynamoDbTest {
device = generateDevice(1); device = generateDevice(1);
account = generateAccount("+14151112222", secondUuid, Collections.singleton(device)); account = generateAccount("+14151112222", secondUuid, Collections.singleton(device));
accountsDynamoDb.create(account); final boolean freshUser = accountsDynamoDb.create(account);
assertThat(freshUser).isFalse();
verifyStoredState("+14151112222", firstUuid, account); verifyStoredState("+14151112222", firstUuid, account);
device = generateDevice(1); device = generateDevice(1);
@ -245,8 +252,9 @@ class AccountsDynamoDbTest {
final Account recreatedAccount = generateAccount(deletedAccount.getNumber(), UUID.randomUUID(), final Account recreatedAccount = generateAccount(deletedAccount.getNumber(), UUID.randomUUID(),
Collections.singleton(generateDevice(1))); Collections.singleton(generateDevice(1)));
accountsDynamoDb.create(recreatedAccount); final boolean freshUser = accountsDynamoDb.create(recreatedAccount);
assertThat(freshUser).isTrue();
assertThat(accountsDynamoDb.get(recreatedAccount.getUuid())).isPresent(); assertThat(accountsDynamoDb.get(recreatedAccount.getUuid())).isPresent();
verifyStoredState(recreatedAccount.getNumber(), recreatedAccount.getUuid(), verifyStoredState(recreatedAccount.getNumber(), recreatedAccount.getUuid(),
accountsDynamoDb.get(recreatedAccount.getUuid()).get(), recreatedAccount); accountsDynamoDb.get(recreatedAccount.getUuid()).get(), recreatedAccount);

View File

@ -64,10 +64,17 @@ public class AccountsTest {
Device device = generateDevice (1 ); Device device = generateDevice (1 );
Account account = generateAccount("+14151112222", UUID.randomUUID(), Collections.singleton(device)); Account account = generateAccount("+14151112222", UUID.randomUUID(), Collections.singleton(device));
accounts.create(account); boolean freshUser = accounts.create(account);
assertThat(freshUser).isTrue();
PreparedStatement statement = db.getTestDatabase().getConnection().prepareStatement("SELECT * FROM accounts WHERE number = ?"); PreparedStatement statement = db.getTestDatabase().getConnection().prepareStatement("SELECT * FROM accounts WHERE number = ?");
verifyStoredState(statement, "+14151112222", account.getUuid(), account); verifyStoredState(statement, "+14151112222", account.getUuid(), account);
freshUser = accounts.create(account);
assertThat(freshUser).isTrue();
statement = db.getTestDatabase().getConnection().prepareStatement("SELECT * FROM accounts WHERE number = ?");
verifyStoredState(statement, "+14151112222", account.getUuid(), account);
} }
@Test @Test
@ -138,7 +145,8 @@ public class AccountsTest {
device = generateDevice(1); device = generateDevice(1);
account = generateAccount("+14151112222", secondUuid, Collections.singleton(device)); account = generateAccount("+14151112222", secondUuid, Collections.singleton(device));
accounts.create(account); final boolean freshUser = accounts.create(account);
assertThat(freshUser).isFalse();
verifyStoredState(statement, "+14151112222", firstUuid, account); verifyStoredState(statement, "+14151112222", firstUuid, account);
device = generateDevice(1); device = generateDevice(1);
@ -221,7 +229,9 @@ public class AccountsTest {
final Account recreatedAccount = generateAccount(deletedAccount.getNumber(), UUID.randomUUID(), final Account recreatedAccount = generateAccount(deletedAccount.getNumber(), UUID.randomUUID(),
Collections.singleton(generateDevice(1))); Collections.singleton(generateDevice(1)));
accounts.create(recreatedAccount); final boolean freshUser = accounts.create(recreatedAccount);
assertThat(freshUser).isTrue();
assertThat(accounts.get(recreatedAccount.getUuid())).isPresent(); assertThat(accounts.get(recreatedAccount.getUuid())).isPresent();
verifyStoredState(recreatedAccount.getNumber(), recreatedAccount.getUuid(), verifyStoredState(recreatedAccount.getNumber(), recreatedAccount.getUuid(),
@ -303,7 +313,6 @@ public class AccountsTest {
} }
private Device generateDevice(long id) { private Device generateDevice(long id) {
Random random = new Random(System.currentTimeMillis()); Random random = new Random(System.currentTimeMillis());
SignedPreKey signedPreKey = new SignedPreKey(random.nextInt(), "testPublicKey-" + random.nextInt(), "testSignature-" + random.nextInt()); SignedPreKey signedPreKey = new SignedPreKey(random.nextInt(), "testPublicKey-" + random.nextInt(), "testSignature-" + random.nextInt());
@ -366,7 +375,4 @@ public class AccountsTest {
} }
} }
} }