Offload account lock updates to accountLockExecutor

This commit is contained in:
ravi-signal
2024-01-31 14:27:16 -06:00
committed by GitHub
parent b924dea045
commit 480abebf7e
6 changed files with 32 additions and 17 deletions

View File

@@ -51,7 +51,7 @@ class AccountLockManagerTest {
@Test
void withLock() throws InterruptedException {
accountLockManager.withLock(List.of(FIRST_NUMBER, SECOND_NUMBER), () -> {});
accountLockManager.withLock(List.of(FIRST_NUMBER, SECOND_NUMBER), () -> {}, executor);
verify(lockClient, times(2)).acquireLock(any());
verify(lockClient, times(2)).releaseLock(any(ReleaseLockOptions.class));
@@ -61,7 +61,7 @@ class AccountLockManagerTest {
void withLockTaskThrowsException() throws InterruptedException {
assertThrows(RuntimeException.class, () -> accountLockManager.withLock(List.of(FIRST_NUMBER, SECOND_NUMBER), () -> {
throw new RuntimeException();
}));
}, executor));
verify(lockClient, times(2)).acquireLock(any());
verify(lockClient, times(2)).releaseLock(any(ReleaseLockOptions.class));
@@ -71,7 +71,7 @@ class AccountLockManagerTest {
void withLockEmptyList() {
final Runnable task = mock(Runnable.class);
assertThrows(IllegalArgumentException.class, () -> accountLockManager.withLock(Collections.emptyList(), () -> {}));
assertThrows(IllegalArgumentException.class, () -> accountLockManager.withLock(Collections.emptyList(), () -> {}, executor));
verify(task, never()).run();
}

View File

@@ -107,7 +107,7 @@ class AccountsManagerConcurrentModificationIntegrationTest {
task.run();
return null;
}).when(accountLockManager).withLock(any(), any());
}).when(accountLockManager).withLock(any(), any(), any());
when(accountLockManager.withLockAsync(any(), any(), any())).thenAnswer(invocation -> {
final Supplier<CompletableFuture<?>> taskSupplier = invocation.getArgument(1);

View File

@@ -203,7 +203,7 @@ class AccountsManagerTest {
task.run();
return null;
}).when(accountLockManager).withLock(any(), any());
}).when(accountLockManager).withLock(any(), any(), any());
when(accountLockManager.withLockAsync(any(), any(), any())).thenAnswer(invocation -> {
final Supplier<CompletableFuture<?>> taskSupplier = invocation.getArgument(1);

View File

@@ -116,7 +116,7 @@ class AccountsManagerUsernameIntegrationTest {
task.run();
return null;
}).when(accountLockManager).withLock(any(), any());
}).when(accountLockManager).withLock(any(), any(), any());
when(accountLockManager.withLockAsync(any(), any(), any())).thenAnswer(invocation -> {
final Supplier<CompletableFuture<?>> taskSupplier = invocation.getArgument(1);