From 170758a4800589e94c246edae6d38ebee96ded42 Mon Sep 17 00:00:00 2001 From: anotherJJz <470623352@qq.com> Date: Thu, 8 Aug 2024 16:12:03 +0800 Subject: [PATCH] Add test case --- .../redis/clients/jedis/JedisClusterTest.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/test/java/redis/clients/jedis/JedisClusterTest.java b/src/test/java/redis/clients/jedis/JedisClusterTest.java index 8297eb90c6..e466d87d87 100644 --- a/src/test/java/redis/clients/jedis/JedisClusterTest.java +++ b/src/test/java/redis/clients/jedis/JedisClusterTest.java @@ -199,6 +199,32 @@ public void testReadonlyAndReadwrite() throws Exception { nodeSlave2.flushDB(); } + @Test + public void testReadFromReplicas() throws Exception { + node1.clusterMeet(LOCAL_IP, nodeInfoSlave2.getPort()); + JedisClusterTestUtil.waitForClusterReady(node1, node2, node3, nodeSlave2); + + for (String nodeInfo : node2.clusterNodes().split("\n")) { + if (nodeInfo.contains("myself")) { + nodeSlave2.clusterReplicate(nodeInfo.split(" ")[0]); + break; + } + } + + DefaultJedisClientConfig READ_REPLICAS_CLIENT_CONFIG + = DefaultJedisClientConfig.builder().password("wb6Cluster").readOnlyForReplicas().build(); + try (JedisCluster jedisCluster = new JedisCluster(nodeInfo1, READ_REPLICAS_CLIENT_CONFIG, + DEFAULT_REDIRECTIONS, DEFAULT_POOL_CONFIG)) { + assertEquals("OK", jedisCluster.set("test", "read-from-replicas")); + + ClusterCommandObjects commandObjects = new ClusterCommandObjects(); + assertEquals("read-from-replicas", jedisCluster.executeCommandToReplica(commandObjects.get("test"))); + } + + nodeSlave2.clusterReset(ClusterResetType.SOFT); + nodeSlave2.flushDB(); + } + /** * slot->nodes 15363 node3 e */