DATAREDIS-679 - Polishing.
Use IllegalState- instead of IllegalArgumentException and utilize ExpectedException rule in tests. Original Pull Request: #270
This commit is contained in:
@@ -780,11 +780,10 @@ public class JedisClusterConnection implements DefaultedRedisClusterConnection {
|
||||
this.topologyProvider = topologyProvider;
|
||||
|
||||
if (cluster != null) {
|
||||
PropertyAccessor accessor = new DirectFieldAccessFallbackBeanWrapper(cluster);
|
||||
|
||||
PropertyAccessor accessor = new DirectFieldAccessFallbackBeanWrapper(cluster);
|
||||
this.connectionHandler = accessor.isReadableProperty("connectionHandler")
|
||||
? (JedisClusterConnectionHandler) accessor.getPropertyValue("connectionHandler")
|
||||
: null;
|
||||
? (JedisClusterConnectionHandler) accessor.getPropertyValue("connectionHandler") : null;
|
||||
} else {
|
||||
this.connectionHandler = null;
|
||||
}
|
||||
@@ -811,7 +810,7 @@ public class JedisClusterConnection implements DefaultedRedisClusterConnection {
|
||||
return connection;
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException(String.format("Node %s is unknown to cluster", node));
|
||||
throw new IllegalStateException(String.format("Node %s is unknown to cluster", node));
|
||||
}
|
||||
|
||||
private JedisPool getResourcePoolForSpecificNode(RedisClusterNode node) {
|
||||
@@ -827,7 +826,8 @@ public class JedisClusterConnection implements DefaultedRedisClusterConnection {
|
||||
private Jedis getConnectionForSpecificNode(RedisClusterNode node) {
|
||||
|
||||
RedisClusterNode member = topologyProvider.getTopology().lookup(node);
|
||||
if (connectionHandler != null && member != null) {
|
||||
|
||||
if (member != null && connectionHandler != null) {
|
||||
return connectionHandler.getConnectionFromNode(new HostAndPort(member.getHost(), member.getPort()));
|
||||
}
|
||||
|
||||
|
||||
@@ -276,12 +276,10 @@ public class JedisClusterConnectionUnitTests {
|
||||
|
||||
nodes.remove(CLUSTER_HOST + ":" + MASTER_NODE_3_PORT);
|
||||
|
||||
try {
|
||||
connection.serverCommands().dbSize(new RedisClusterNode(CLUSTER_HOST, MASTER_NODE_3_PORT));
|
||||
} catch (IllegalArgumentException e) {
|
||||
assertThat(e.getMessage(),
|
||||
containsString("Node " + CLUSTER_HOST + ":" + MASTER_NODE_3_PORT + " is unknown to cluster"));
|
||||
}
|
||||
expectedException.expect(IllegalStateException.class);
|
||||
expectedException.expectMessage("Node " + CLUSTER_HOST + ":" + MASTER_NODE_3_PORT + " is unknown to cluster");
|
||||
|
||||
connection.serverCommands().dbSize(new RedisClusterNode(CLUSTER_HOST, MASTER_NODE_3_PORT));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-679
|
||||
@@ -292,6 +290,7 @@ public class JedisClusterConnectionUnitTests {
|
||||
when(connectionHandlerMock.getConnectionFromNode(new HostAndPort(CLUSTER_HOST, MASTER_NODE_3_PORT)))
|
||||
.thenReturn(con3Mock);
|
||||
when(con3Mock.dbSize()).thenAnswer(new Answer<Long>() {
|
||||
|
||||
@Override
|
||||
public Long answer(InvocationOnMock invocation) throws Throwable {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user