DATAREDIS-930 - Return port/host of WithHostAndPort configurations using LettuceConnectionFactory.getPort() and getHost().
We now correctly return host and port from configurations that implement WithHostAndPort instead of always using RedisStandaloneConfiguration. Original pull request: #385.
This commit is contained in:
committed by
Mark Paluch
parent
ff9802ad3d
commit
34951495ba
@@ -22,6 +22,7 @@ import static org.hamcrest.core.IsNull.*;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.springframework.data.redis.connection.ClusterTestVariables.*;
|
||||
import static org.springframework.data.redis.connection.RedisConfiguration.*;
|
||||
import static org.springframework.data.redis.connection.lettuce.LettuceTestClientResources.*;
|
||||
import static org.springframework.test.util.ReflectionTestUtils.*;
|
||||
|
||||
@@ -50,6 +51,7 @@ import org.springframework.beans.DirectFieldAccessor;
|
||||
import org.springframework.data.redis.ConnectionFactoryTracker;
|
||||
import org.springframework.data.redis.connection.RedisClusterConfiguration;
|
||||
import org.springframework.data.redis.connection.RedisClusterConnection;
|
||||
import org.springframework.data.redis.connection.RedisConfiguration;
|
||||
import org.springframework.data.redis.connection.RedisPassword;
|
||||
import org.springframework.data.redis.connection.RedisSentinelConfiguration;
|
||||
import org.springframework.data.redis.connection.RedisSocketConfiguration;
|
||||
@@ -63,6 +65,7 @@ import org.springframework.test.util.ReflectionTestUtils;
|
||||
* @author Mark Paluch
|
||||
* @author Balázs Németh
|
||||
* @author Ruben Cervilla
|
||||
* @author Luis De Bello
|
||||
*/
|
||||
public class LettuceConnectionFactoryUnitTests {
|
||||
|
||||
@@ -109,6 +112,52 @@ public class LettuceConnectionFactoryUnitTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-930
|
||||
public void portShouldBeReturnedProperlyBasedOnConfiguration() {
|
||||
|
||||
RedisConfiguration redisConfiguration = new RedisStandaloneConfiguration("localhost", 16379);
|
||||
|
||||
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(redisConfiguration,
|
||||
LettuceClientConfiguration.defaultConfiguration());
|
||||
|
||||
assertThat(connectionFactory.getPort(), is(16379));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-930
|
||||
public void portShouldBeReturnedProperlyBasedOnCustomRedisConfiguration() {
|
||||
|
||||
RedisConfiguration redisConfiguration = new CustomRedisConfiguration("localhost", 16379);
|
||||
|
||||
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(redisConfiguration,
|
||||
LettuceClientConfiguration.defaultConfiguration());
|
||||
|
||||
assertThat(connectionFactory.getPort(), is(16379));
|
||||
assertThat(connectionFactory.getHostName(), is("localhost"));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-930
|
||||
public void hostNameShouldBeReturnedProperlyBasedOnConfiguration() {
|
||||
|
||||
RedisConfiguration redisConfiguration = new RedisStandaloneConfiguration("external");
|
||||
|
||||
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(redisConfiguration,
|
||||
LettuceClientConfiguration.defaultConfiguration());
|
||||
|
||||
assertThat(connectionFactory.getHostName(), is("external"));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-930
|
||||
public void hostNameShouldBeReturnedProperlyBasedOnCustomRedisConfiguration() {
|
||||
|
||||
RedisConfiguration redisConfiguration = new CustomRedisConfiguration("external");
|
||||
|
||||
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(redisConfiguration,
|
||||
LettuceClientConfiguration.defaultConfiguration());
|
||||
|
||||
assertThat(connectionFactory.getPort(), is(6379));
|
||||
assertThat(connectionFactory.getHostName(), is("external"));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-315
|
||||
@SuppressWarnings("unchecked")
|
||||
public void passwordShouldBeSetCorrectlyOnClusterClient() {
|
||||
@@ -657,4 +706,42 @@ public class LettuceConnectionFactoryUnitTests {
|
||||
|
||||
assertThat(redisUri.getDatabase(), is(equalTo(1)));
|
||||
}
|
||||
|
||||
private static class CustomRedisConfiguration implements RedisConfiguration, WithHostAndPort {
|
||||
|
||||
private static final String DEFAULT_HOST = "localhost";
|
||||
private static final int DEFAULT_PORT = 6379;
|
||||
|
||||
private String hostName = DEFAULT_HOST;
|
||||
private int port = DEFAULT_PORT;
|
||||
|
||||
public CustomRedisConfiguration(String hostName) {
|
||||
this(hostName, DEFAULT_PORT);
|
||||
}
|
||||
|
||||
public CustomRedisConfiguration(String hostName, int port) {
|
||||
this.hostName = hostName;
|
||||
this.port = port;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHostName() {
|
||||
return hostName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHostName(String hostName) {
|
||||
this.hostName = hostName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPort() {
|
||||
return port;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPort(int port) {
|
||||
this.port = port;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user