DATAREDIS-679 - Polishing.

Use IllegalState- instead of IllegalArgumentException and utilize ExpectedException rule in tests.

Original Pull Request: #270
This commit is contained in:
Christoph Strobl
2017-09-07 09:31:24 +02:00
parent c855750535
commit 8b06c54246
3 changed files with 10 additions and 9 deletions

1
.gitignore vendored
View File

@@ -15,3 +15,4 @@ build
out
work
*.rdb
*.aof

View File

@@ -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()));
}

View File

@@ -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 {