From 91ca04a028d1358bac334cd6589659b620bd1a1b Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Tue, 21 Jan 2025 13:53:43 +0100 Subject: [PATCH 1/2] Replace awaitility with CountDownLatch to try and fix the test on CI --- .../java/io/sentry/transport/RateLimiterTest.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt b/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt index e9a38631cce..1e8d3d74e79 100644 --- a/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt +++ b/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt @@ -39,6 +39,8 @@ import org.mockito.kotlin.verifyNoMoreInteractions import org.mockito.kotlin.whenever import java.io.File import java.util.UUID +import java.util.concurrent.CountDownLatch +import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicBoolean import kotlin.test.Test import kotlin.test.assertEquals @@ -363,18 +365,18 @@ class RateLimiterTest { val rateLimiter = fixture.getSUT() whenever(fixture.currentDateProvider.currentTimeMillis).thenReturn(0, 1, 2001) - val applied = AtomicBoolean(true) + val applied = CountDownLatch(1) + var activeForReplay = false rateLimiter.addRateLimitObserver { - applied.set(rateLimiter.isActiveForCategory(Replay)) + applied.countDown() + activeForReplay = rateLimiter.isActiveForCategory(Replay) } rateLimiter.updateRetryAfterLimits("1:replay:key", null, 1) rateLimiter.close() // If rate limit didn't already change, wait for 1.5s to ensure the timer has run after 1s - if (!applied.get()) { - await.untilTrue(applied) - } - assertTrue(applied.get()) + applied.await(2, TimeUnit.SECONDS) + assertTrue(activeForReplay) } } From e93744fa44ecf1ce08808ea6d488721bbc1120ae Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Tue, 21 Jan 2025 16:18:26 +0100 Subject: [PATCH 2/2] Update sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt --- sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt b/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt index 1e8d3d74e79..5e038f7b5d7 100644 --- a/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt +++ b/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt @@ -375,7 +375,6 @@ class RateLimiterTest { rateLimiter.updateRetryAfterLimits("1:replay:key", null, 1) rateLimiter.close() - // If rate limit didn't already change, wait for 1.5s to ensure the timer has run after 1s applied.await(2, TimeUnit.SECONDS) assertTrue(activeForReplay) }