Skip to content

Commit 383c8ba

Browse files
authored
maintenace: fix hotkeys info test for 8.6.1+ (#4443)
tests: fix hotkeys info test for 8.6.1+
1 parent cd75d78 commit 383c8ba

File tree

5 files changed

+51
-9
lines changed

5 files changed

+51
-9
lines changed

src/test/java/io/redis/test/utils/RedisVersion.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ public class RedisVersion implements Comparable<RedisVersion> {
77
public static final RedisVersion V7_4 = RedisVersion.of("7.4");
88
public static final RedisVersion V8_0_0_PRE = RedisVersion.of("7.9.0");
99
public static final RedisVersion V8_0_0 = RedisVersion.of("8.0.0");
10-
public static final String V8_4_0_STRING= "8.4.0";
10+
public static final String V8_4_0_STRING = "8.4.0";
1111
public static final RedisVersion V8_4_0 = RedisVersion.of("8.4.0");
12+
public static final RedisVersion V8_6_0 = RedisVersion.of("8.6.0");
13+
public static final RedisVersion V8_6_1 = RedisVersion.of("8.6.1");
1214

1315
private final int major;
1416
private final int minor;
@@ -72,6 +74,10 @@ public int compareTo(RedisVersion other) {
7274
return Integer.compare(this.patch, other.patch);
7375
}
7476

77+
public boolean is(RedisVersion other) {
78+
return this.compareTo(other) == 0;
79+
}
80+
7581
public boolean isLessThanOrEqualTo(RedisVersion other) {
7682
return this.compareTo(other) <= 0;
7783
}

src/test/java/redis/clients/jedis/commands/jedis/HotkeysCommandsTest.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
import static org.junit.jupiter.api.Assertions.assertNotNull;
1212
import static org.junit.jupiter.api.Assertions.assertNull;
1313
import static org.junit.jupiter.api.Assertions.assertTrue;
14+
import static redis.clients.jedis.util.RedisVersionUtil.getRedisVersion;
1415

1516
import java.time.Duration;
1617

1718
import io.redis.test.annotations.ConditionalOnEnv;
1819
import io.redis.test.annotations.EnabledOnCommand;
20+
import io.redis.test.utils.RedisVersion;
1921
import org.junit.jupiter.api.AfterEach;
2022
import org.junit.jupiter.api.BeforeEach;
2123
import org.junit.jupiter.api.Test;
@@ -27,6 +29,7 @@
2729
import redis.clients.jedis.args.HotkeysMetric;
2830
import redis.clients.jedis.params.HotkeysParams;
2931
import redis.clients.jedis.resps.HotkeysInfo;
32+
import redis.clients.jedis.util.RedisVersionUtil;
3033
import redis.clients.jedis.util.TestEnvUtil;
3134

3235
@ParameterizedClass
@@ -194,8 +197,16 @@ public void hotkeysDurationOption() {
194197

195198
@Test
196199
public void infoHotkeysSection() {
200+
boolean isRedis8_6_1OrHigher = getRedisVersion(jedis)
201+
.isGreaterThanOrEqualTo(RedisVersion.of("8.6.1"));
202+
197203
String info = jedis.info();
198-
assertFalse(info.contains("# Hotkeys"));
204+
// Hotkeys section is displayed in info even when empty starting from Redis 8.6.1+
205+
if (isRedis8_6_1OrHigher) {
206+
assertTrue(info.contains("# Hotkeys"));
207+
} else {
208+
assertFalse(info.contains("# Hotkeys"));
209+
}
199210

200211
jedis.hotkeysStart(HotkeysParams.hotkeysParams().metrics(HotkeysMetric.CPU));
201212
info = jedis.info();
@@ -209,6 +220,13 @@ public void infoHotkeysSection() {
209220

210221
jedis.hotkeysReset();
211222
info = jedis.info();
212-
assertFalse(info.contains("# Hotkeys"));
223+
224+
// Hotkeys section is displayed in info even when empty starting from Redis 8.6.1+
225+
if (isRedis8_6_1OrHigher) {
226+
assertTrue(info.contains("# Hotkeys"));
227+
} else {
228+
assertFalse(info.contains("# Hotkeys"));
229+
}
230+
213231
}
214232
}

src/test/java/redis/clients/jedis/commands/unified/client/RedisClientHotkeysCommandsTest.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@
1111
import static org.junit.jupiter.api.Assertions.assertNotNull;
1212
import static org.junit.jupiter.api.Assertions.assertNull;
1313
import static org.junit.jupiter.api.Assertions.assertTrue;
14+
import static redis.clients.jedis.util.RedisVersionUtil.getRedisVersion;
1415

1516
import java.time.Duration;
1617

18+
import io.redis.test.utils.RedisVersion;
1719
import org.junit.jupiter.api.Test;
1820
import org.junit.jupiter.params.ParameterizedClass;
1921
import org.junit.jupiter.params.provider.MethodSource;
@@ -24,6 +26,7 @@
2426
import redis.clients.jedis.commands.unified.HotkeysCommandsTestBase;
2527
import redis.clients.jedis.params.HotkeysParams;
2628
import redis.clients.jedis.resps.HotkeysInfo;
29+
import redis.clients.jedis.util.RedisVersionUtil;
2730
import redis.clients.jedis.util.TestDataUtil;
2831

2932
@ParameterizedClass
@@ -182,8 +185,16 @@ public void hotkeysResponseFields() {
182185

183186
@Test
184187
public void infoHotkeysSection() {
188+
boolean isRedis8_6_1OrHigher = getRedisVersion(jedis)
189+
.isGreaterThanOrEqualTo(RedisVersion.of("8.6.1"));
190+
185191
String info = jedis.info();
186-
assertFalse(info.contains("# Hotkeys"));
192+
// Hotkeys section is displayed in info even when empty starting from Redis 8.6.1+
193+
if (isRedis8_6_1OrHigher) {
194+
assertTrue(info.contains("# Hotkeys"));
195+
} else {
196+
assertFalse(info.contains("# Hotkeys"));
197+
}
187198

188199
jedis.hotkeysStart(HotkeysParams.hotkeysParams().metrics(HotkeysMetric.CPU));
189200
info = jedis.info();
@@ -197,6 +208,13 @@ public void infoHotkeysSection() {
197208

198209
jedis.hotkeysReset();
199210
info = jedis.info();
200-
assertFalse(info.contains("# Hotkeys"));
211+
212+
// Hotkeys section is displayed in info even when empty starting from Redis 8.6.1+
213+
if (isRedis8_6_1OrHigher) {
214+
assertTrue(info.contains("# Hotkeys"));
215+
} else {
216+
assertFalse(info.contains("# Hotkeys"));
217+
}
218+
201219
}
202220
}

src/test/resources/env/.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
REDIS_VERSION=8.6.0
2-
REDIS_STACK_VERSION=8.6.0
1+
REDIS_VERSION=8.6.1
2+
REDIS_STACK_VERSION=8.6.1
33
CLIENT_LIBS_TEST_IMAGE=redislabs/client-libs-test
44
REDIS_ENV_CONF_DIR=./
55
REDIS_MODULES_DIR=/tmp

src/test/resources/env/.env.v8.6

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
REDIS_VERSION=8.6.0
2-
REDIS_STACK_VERSION=8.6.0
1+
REDIS_VERSION=8.6.1
2+
REDIS_STACK_VERSION=8.6.1
33
CLIENT_LIBS_TEST_IMAGE=redislabs/client-libs-test
44
REDIS_ENV_CONF_DIR=./
55
REDIS_MODULES_DIR=/tmp

0 commit comments

Comments
 (0)