From f5772f028015d53ed9d5768bb869834f17c85074 Mon Sep 17 00:00:00 2001 From: stefanosiano Date: Thu, 23 Jan 2025 16:55:52 +0100 Subject: [PATCH] changed RateLimiterTest `close cancels the timer` to use reflection --- .../io/sentry/transport/RateLimiterTest.kt | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt b/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt index 5e038f7b5d..795664dfa2 100644 --- a/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt +++ b/sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt @@ -28,6 +28,8 @@ import io.sentry.hints.DiskFlushNotification import io.sentry.protocol.SentryId import io.sentry.protocol.SentryTransaction import io.sentry.protocol.User +import io.sentry.test.getProperty +import io.sentry.test.injectForField import io.sentry.util.HintUtils import org.awaitility.kotlin.await import org.mockito.kotlin.eq @@ -38,6 +40,7 @@ import org.mockito.kotlin.verify import org.mockito.kotlin.verifyNoMoreInteractions import org.mockito.kotlin.whenever import java.io.File +import java.util.Timer import java.util.UUID import java.util.concurrent.CountDownLatch import java.util.concurrent.TimeUnit @@ -363,19 +366,10 @@ class RateLimiterTest { @Test fun `close cancels the timer`() { val rateLimiter = fixture.getSUT() - whenever(fixture.currentDateProvider.currentTimeMillis).thenReturn(0, 1, 2001) - - val applied = CountDownLatch(1) - var activeForReplay = false - rateLimiter.addRateLimitObserver { - applied.countDown() - activeForReplay = rateLimiter.isActiveForCategory(Replay) - } - - rateLimiter.updateRetryAfterLimits("1:replay:key", null, 1) + val timer = mock() + rateLimiter.injectForField("timer", timer) rateLimiter.close() - - applied.await(2, TimeUnit.SECONDS) - assertTrue(activeForReplay) + verify(timer).cancel() + assertNull(rateLimiter.getProperty("timer")) } }