DATAREDIS-1142 - Use Lettuce reactive cluster connection if configured.

Original Pull Request: #529
This commit is contained in:
andrea.como
2020-05-08 00:16:16 +02:00
committed by Christoph Strobl
parent 3c945aacde
commit 2d04af6a99
2 changed files with 27 additions and 0 deletions

View File

@@ -67,6 +67,7 @@ import org.springframework.test.util.ReflectionTestUtils;
* @author Balázs Németh
* @author Ruben Cervilla
* @author Luis De Bello
* @author Andrea Como
*/
public class LettuceConnectionFactoryUnitTests {
@@ -942,6 +943,27 @@ public class LettuceConnectionFactoryUnitTests {
assertThat(options.getTimeoutOptions().isApplyConnectionTimeout()).isFalse();
}
@Test // DATAREDIS-1142
public void shouldFallbackToReactiveRedisClusterConnectionWhenGetReactiveConnectionWithClusterConfig() {
LettuceConnectionProvider connectionProviderMock = mock(LettuceConnectionProvider.class);
StatefulConnection<?, ?> statefulConnection = mock(StatefulConnection.class);
when(connectionProviderMock.getConnection(any())).thenReturn(statefulConnection);
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig) {
@Override
protected LettuceConnectionProvider doCreateConnectionProvider(AbstractRedisClient client,
RedisCodec<?, ?> codec) {
return connectionProviderMock;
}
};
connectionFactory.afterPropertiesSet();
LettuceReactiveRedisConnection reactiveConnection = connectionFactory.getReactiveConnection();
assertThat(reactiveConnection).isInstanceOf(LettuceReactiveRedisClusterConnection.class);
}
@Data
@AllArgsConstructor
static class CustomRedisConfiguration implements RedisConfiguration, WithHostAndPort {