DATAREDIS-939 - Add timeout to Lettuce RedisURI when using Sentinel.

Original pull request: #388.
This commit is contained in:
Dmytro Liash
2019-03-03 19:08:53 +01:00
committed by Mark Paluch
parent c14b1f67d6
commit 3d35132dc7
2 changed files with 24 additions and 0 deletions

View File

@@ -15,6 +15,7 @@
*/
package org.springframework.data.redis.connection.lettuce;
import static org.hamcrest.core.IsNull.*;
import static org.hamcrest.core.Is.*;
import static org.hamcrest.core.IsEqual.*;
import static org.hamcrest.core.IsInstanceOf.*;
@@ -45,6 +46,7 @@ import com.lambdaworks.redis.cluster.RedisClusterClient;
* @author Christoph Strobl
* @author Mark Paluch
* @author Balázs Németh
* @author Dmytro Liash
*/
public class LettuceConnectionFactoryUnitTests {
@@ -293,4 +295,22 @@ public class LettuceConnectionFactoryUnitTests {
clusterConnection.close();
}
@Test // DATAREDIS-939
public void timeoutShouldBePassedOnToSentinelConnection() {
RedisSentinelConfiguration sentinelConfiguration = new RedisSentinelConfiguration()
.master("test")
.sentinel("sentinel", 26379);
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(sentinelConfiguration);
connectionFactory.setTimeout(5);
connectionFactory.afterPropertiesSet();
ConnectionFactoryTracker.add(connectionFactory);
AbstractRedisClient client = (AbstractRedisClient) getField(connectionFactory, "client");
assertThat(client, instanceOf(RedisClient.class));
RedisURI redisUri = (RedisURI) getField(client, "redisURI");
assertThat(redisUri, is(notNullValue()));
assertThat(redisUri.getTimeout(), is(equalTo(connectionFactory.getTimeout())));
assertThat(redisUri.getUnit(), is(equalTo(TimeUnit.MILLISECONDS)));
}
}