This is an automated email from the ASF dual-hosted git repository.

jhelou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new dfe880d17d JAMES-3693 Adapt Redis configuration change for Kvrocks 
tests
dfe880d17d is described below

commit dfe880d17d7f74859a9643c9378fff1d7821694e
Author: Quan Tran <hqt...@linagora.com>
AuthorDate: Wed Apr 2 15:06:36 2025 +0700

    JAMES-3693 Adapt Redis configuration change for Kvrocks tests
---
 .../rate/limiter/KvrocksRateLimiterTest.scala      |  2 +-
 .../limiter/KvrocksSentinelRateLimiterTest.scala   | 25 +++++++++++-----------
 2 files changed, 13 insertions(+), 14 deletions(-)

diff --git 
a/server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/KvrocksRateLimiterTest.scala
 
b/server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/KvrocksRateLimiterTest.scala
index 16b1fc3bff..64abc6b72e 100644
--- 
a/server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/KvrocksRateLimiterTest.scala
+++ 
b/server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/KvrocksRateLimiterTest.scala
@@ -38,7 +38,7 @@ class KvrocksRateLimiterTest extends RateLimiterContract {
     redisRateLimiterConfiguration = 
StandaloneRedisConfiguration.from(kvrocks.redisURI().toString)
   }
 
-  override def testee(): RateLimiterFactory = new 
RedisRateLimiterFactory(redisRateLimiterConfiguration, new 
RedisClientFactory(FileSystemImpl.forTesting()))
+  override def testee(): RateLimiterFactory = new 
RedisRateLimiterFactory(redisRateLimiterConfiguration, new 
RedisClientFactory(FileSystemImpl.forTesting(), redisRateLimiterConfiguration))
 
   override def sleep(duration: Duration): Unit = 
Thread.sleep(duration.toMillis)
 }
diff --git 
a/server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/KvrocksSentinelRateLimiterTest.scala
 
b/server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/KvrocksSentinelRateLimiterTest.scala
index f50ba54918..8152596c89 100644
--- 
a/server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/KvrocksSentinelRateLimiterTest.scala
+++ 
b/server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/KvrocksSentinelRateLimiterTest.scala
@@ -33,7 +33,7 @@ import org.apache.james.server.core.filesystem.FileSystemImpl
 import org.assertj.core.api.Assertions.{assertThat, assertThatCode}
 import org.awaitility.Awaitility
 import org.junit.jupiter.api.extension.ExtendWith
-import org.junit.jupiter.api.{AfterEach, Test}
+import org.junit.jupiter.api.{AfterEach, BeforeEach, Test}
 import reactor.core.scala.publisher.SMono
 
 object KvrocksSentinelRateLimiterTest {
@@ -43,6 +43,15 @@ object KvrocksSentinelRateLimiterTest {
 
 @ExtendWith(Array(classOf[KvrocksSentinelExtension]))
 class KvrocksSentinelRateLimiterTest {
+  var rateLimiter: RateLimiter = _
+
+  @BeforeEach
+  def setUp(kvrocksSentinel: KvrocksSentinel): Unit = {
+    val redisConfiguration = 
kvrocksSentinel.redisSentinelContainerList.getRedisConfiguration
+    val rateLimiterFactory: RedisRateLimiterFactory = new 
RedisRateLimiterFactory(redisConfiguration,
+      new RedisClientFactory(FileSystemImpl.forTesting(), redisConfiguration))
+    rateLimiter = rateLimiterFactory.withSpecification(RULES, 
SLIDING_WIDOW_PRECISION)
+  }
 
   @AfterEach
   def afterEach(kvrocksSentinel: KvrocksSentinel): Unit = {
@@ -51,29 +60,19 @@ class KvrocksSentinelRateLimiterTest {
   }
 
   @Test
-  def rateLimitShouldBeAcceptableWhenLimitIsAcceptable(kvrocksSentinel: 
KvrocksSentinel): Unit = {
-    val rateLimiterFactory: RedisRateLimiterFactory = new 
RedisRateLimiterFactory(kvrocksSentinel.redisSentinelContainerList.getRedisConfiguration,
-      new RedisClientFactory(FileSystemImpl.forTesting()))
-    val rateLimiter = rateLimiterFactory.withSpecification(RULES, 
SLIDING_WIDOW_PRECISION)
+  def rateLimitShouldBeAcceptableWhenLimitIsAcceptable(): Unit = {
     val actual: RateLimitingResult = SMono(rateLimiter.rateLimit(TestKey("key" 
+ UUID.randomUUID().toString), 4)).block()
     assertThat(actual).isEqualTo(AcceptableRate)
   }
 
   @Test
-  def rateLimitShouldWorkNormallyWhenLimitExceeded(kvrocksSentinel: 
KvrocksSentinel): Unit = {
-    val rateLimiterFactory: RedisRateLimiterFactory = new 
RedisRateLimiterFactory(kvrocksSentinel.redisSentinelContainerList.getRedisConfiguration,
-      new RedisClientFactory(FileSystemImpl.forTesting()))
-    val rateLimiter = rateLimiterFactory.withSpecification(RULES, 
SLIDING_WIDOW_PRECISION)
+  def rateLimitShouldWorkNormallyWhenLimitExceeded(): Unit = {
     val actual: RateLimitingResult = SMono(rateLimiter.rateLimit(TestKey("key" 
+ UUID.randomUUID().toString), 5)).block()
     assertThat(actual).isEqualTo(RateExceeded)
   }
 
   @Test
   def rateLimitShouldWorkNormallyAfterFailoverComplete(kvrocksSentinel: 
KvrocksSentinel): Unit = {
-    val rateLimiterFactory: RedisRateLimiterFactory = new 
RedisRateLimiterFactory(kvrocksSentinel.redisSentinelContainerList.getRedisConfiguration,
-      new RedisClientFactory(FileSystemImpl.forTesting()))
-    val rateLimiter = rateLimiterFactory.withSpecification(RULES, 
SLIDING_WIDOW_PRECISION)
-
     // Before failover, the rate limit should be working normally
     assertThat(SMono(rateLimiter.rateLimit(TestKey("key" + 
UUID.randomUUID().toString), 5)).block())
       .isEqualTo(RateExceeded)


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to