DATAREDIS-315 - Support Redis 3.2 CLUSTER NODES output format.
The CLUSTER NODES converter supports the formats for Redis 3.0 and Redis 3.2. Original pull request: #158.
This commit is contained in:
@@ -34,14 +34,23 @@ import org.springframework.data.redis.connection.RedisNode.NodeType;
|
||||
*/
|
||||
public class ConvertersUnitTests {
|
||||
|
||||
private static final String CLUSTER_NODES_RESPONSE = "" //
|
||||
+ "ef570f86c7b1a953846668debc177a3a16733420 127.0.0.1:6379 myself,master - 0 0 1 connected 0-5460 5602"
|
||||
private static final String REDIS_3_0_CLUSTER_NODES_RESPONSE = "" //
|
||||
+ "ef570f86c7b1a953846668debc177a3a16733420 127.0.0.1:6379@16379 myself,master - 0 0 1 connected 0-5460 5602"
|
||||
+ "\n"
|
||||
+ "0f2ee5df45d18c50aca07228cc18b1da96fd5e84 127.0.0.1:6380 master - 0 1427718161587 2 connected 5461 5603-10922"
|
||||
+ "0f2ee5df45d18c50aca07228cc18b1da96fd5e84 127.0.0.1:6380@16380 master - 0 1427718161587 2 connected 5461 5603-10922"
|
||||
+ "\n"
|
||||
+ "3b9b8192a874fa8f1f09dbc0ee20afab5738eee7 127.0.0.1:6381 master - 0 1427718161587 3 connected 10923-16383"
|
||||
+ "3b9b8192a874fa8f1f09dbc0ee20afab5738eee7 127.0.0.1:6381@6381 master - 0 1427718161587 3 connected 10923-16383"
|
||||
+ "\n"
|
||||
+ "8cad73f63eb996fedba89f041636f17d88cda075 127.0.0.1:7369 slave ef570f86c7b1a953846668debc177a3a16733420 0 1427718161587 1 connected";
|
||||
+ "8cad73f63eb996fedba89f041636f17d88cda075 127.0.0.1:7369@7369 slave ef570f86c7b1a953846668debc177a3a16733420 0 1427718161587 1 connected";
|
||||
|
||||
private static final String REDIS_3_2_CLUSTER_NODES_RESPONSE = "" //
|
||||
+ "ef570f86c7b1a953846668debc177a3a16733420 127.0.0.1:6379@16379 myself,master - 0 0 1 connected 0-5460 5602"
|
||||
+ "\n"
|
||||
+ "0f2ee5df45d18c50aca07228cc18b1da96fd5e84 127.0.0.1:6380@16380 master - 0 1427718161587 2 connected 5461 5603-10922"
|
||||
+ "\n"
|
||||
+ "3b9b8192a874fa8f1f09dbc0ee20afab5738eee7 127.0.0.1:6381@6381 master - 0 1427718161587 3 connected 10923-16383"
|
||||
+ "\n"
|
||||
+ "8cad73f63eb996fedba89f041636f17d88cda075 127.0.0.1:7369@7369 slave ef570f86c7b1a953846668debc177a3a16733420 0 1427718161587 1 connected";
|
||||
|
||||
private static final String CLUSTER_NODE_WITH_SINGLE_SLOT_RESPONSE = "ef570f86c7b1a953846668debc177a3a16733420 127.0.0.1:6379 myself,master - 0 0 1 connected 3456";
|
||||
|
||||
@@ -53,9 +62,62 @@ public class ConvertersUnitTests {
|
||||
* @see DATAREDIS-315
|
||||
*/
|
||||
@Test
|
||||
public void toSetOfRedisClusterNodesShouldConvertSingleStringNodesResponseCorrectly() {
|
||||
public void toSetOfRedis30ClusterNodesShouldConvertSingleStringNodesResponseCorrectly() {
|
||||
|
||||
Iterator<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(CLUSTER_NODES_RESPONSE).iterator();
|
||||
Iterator<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(REDIS_3_0_CLUSTER_NODES_RESPONSE).iterator();
|
||||
|
||||
RedisClusterNode node = nodes.next(); // 127.0.0.1:6379
|
||||
assertThat(node.getId(), is("ef570f86c7b1a953846668debc177a3a16733420"));
|
||||
assertThat(node.getHost(), is("127.0.0.1"));
|
||||
assertThat(node.getPort(), is(6379));
|
||||
assertThat(node.getType(), is(NodeType.MASTER));
|
||||
assertThat(node.getSlotRange().contains(0), is(true));
|
||||
assertThat(node.getSlotRange().contains(5460), is(true));
|
||||
assertThat(node.getSlotRange().contains(5461), is(false));
|
||||
assertThat(node.getSlotRange().contains(5602), is(true));
|
||||
assertThat(node.getFlags(), hasItems(Flag.MASTER, Flag.MYSELF));
|
||||
assertThat(node.getLinkState(), is(LinkState.CONNECTED));
|
||||
|
||||
node = nodes.next(); // 127.0.0.1:6380
|
||||
assertThat(node.getId(), is("0f2ee5df45d18c50aca07228cc18b1da96fd5e84"));
|
||||
assertThat(node.getHost(), is("127.0.0.1"));
|
||||
assertThat(node.getPort(), is(6380));
|
||||
assertThat(node.getType(), is(NodeType.MASTER));
|
||||
assertThat(node.getSlotRange().contains(5460), is(false));
|
||||
assertThat(node.getSlotRange().contains(5461), is(true));
|
||||
assertThat(node.getSlotRange().contains(5462), is(false));
|
||||
assertThat(node.getSlotRange().contains(10922), is(true));
|
||||
assertThat(node.getFlags(), hasItems(Flag.MASTER));
|
||||
assertThat(node.getLinkState(), is(LinkState.CONNECTED));
|
||||
|
||||
node = nodes.next(); // 127.0.0.1:638
|
||||
assertThat(node.getId(), is("3b9b8192a874fa8f1f09dbc0ee20afab5738eee7"));
|
||||
assertThat(node.getHost(), is("127.0.0.1"));
|
||||
assertThat(node.getPort(), is(6381));
|
||||
assertThat(node.getType(), is(NodeType.MASTER));
|
||||
assertThat(node.getSlotRange().contains(10923), is(true));
|
||||
assertThat(node.getSlotRange().contains(16383), is(true));
|
||||
assertThat(node.getFlags(), hasItems(Flag.MASTER));
|
||||
assertThat(node.getLinkState(), is(LinkState.CONNECTED));
|
||||
|
||||
node = nodes.next(); // 127.0.0.1:7369
|
||||
assertThat(node.getId(), is("8cad73f63eb996fedba89f041636f17d88cda075"));
|
||||
assertThat(node.getHost(), is("127.0.0.1"));
|
||||
assertThat(node.getPort(), is(7369));
|
||||
assertThat(node.getType(), is(NodeType.SLAVE));
|
||||
assertThat(node.getMasterId(), is("ef570f86c7b1a953846668debc177a3a16733420"));
|
||||
assertThat(node.getSlotRange(), notNullValue());
|
||||
assertThat(node.getFlags(), hasItems(Flag.SLAVE));
|
||||
assertThat(node.getLinkState(), is(LinkState.CONNECTED));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see DATAREDIS-315
|
||||
*/
|
||||
@Test
|
||||
public void toSetOfRedis32ClusterNodesShouldConvertSingleStringNodesResponseCorrectly() {
|
||||
|
||||
Iterator<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(REDIS_3_2_CLUSTER_NODES_RESPONSE).iterator();
|
||||
|
||||
RedisClusterNode node = nodes.next(); // 127.0.0.1:6379
|
||||
assertThat(node.getId(), is("ef570f86c7b1a953846668debc177a3a16733420"));
|
||||
|
||||
Reference in New Issue
Block a user