DATAREDIS-679 - Polishing.
Use IllegalState- instead of IllegalArgumentException and utilize ExpectedException rule in tests. Original Pull Request: #270
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -15,3 +15,4 @@ build
|
||||
out
|
||||
work
|
||||
*.rdb
|
||||
*.aof
|
||||
|
||||
@@ -4107,8 +4107,8 @@ public class JedisClusterConnection implements RedisClusterConnection {
|
||||
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;
|
||||
} else {
|
||||
@@ -4137,7 +4137,7 @@ public class JedisClusterConnection implements RedisClusterConnection {
|
||||
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) {
|
||||
@@ -4153,7 +4153,8 @@ public class JedisClusterConnection implements RedisClusterConnection {
|
||||
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()));
|
||||
}
|
||||
|
||||
|
||||
@@ -272,12 +272,10 @@ public class JedisClusterConnectionUnitTests {
|
||||
|
||||
nodes.remove(CLUSTER_HOST + ":" + MASTER_NODE_3_PORT);
|
||||
|
||||
try {
|
||||
connection.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.dbSize(new RedisClusterNode(CLUSTER_HOST, MASTER_NODE_3_PORT));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-679
|
||||
@@ -288,6 +286,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