DATAREDIS-667 - Polishing.
Remove builder interfaces and aim for classes instead. Also use delegation for builders avoiding constructors with too many arguments. Alter ConnectionProvider#getConnection(Class) to return a typed connection as this is is the expected return type given the input parameters used. Remove LettuceConnectionProvider.getConnection() method as it makes no longer sense for the non-lambda enabled interface. Remove unnecessary casts. Add connection factory to cleanup-tracker on test class instantiation instead within the parameter supplier method to prevent shutdown by other cleanup calls that may happen in between. Reuse client resources. Original Pull Request: #262
This commit is contained in:
@@ -28,6 +28,7 @@ import org.junit.Test;
|
||||
* Unit tests for {@link LettuceClientConfiguration}.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @author Christoph Strobl
|
||||
*/
|
||||
public class LettuceClientConfigurationUnitTests {
|
||||
|
||||
@@ -36,7 +37,6 @@ public class LettuceClientConfigurationUnitTests {
|
||||
|
||||
LettuceClientConfiguration configuration = LettuceClientConfiguration.defaultConfiguration();
|
||||
|
||||
assertThat(configuration.isUsePooling()).isFalse();
|
||||
assertThat(configuration.isUseSsl()).isFalse();
|
||||
assertThat(configuration.isVerifyPeer()).isTrue();
|
||||
assertThat(configuration.isStartTls()).isFalse();
|
||||
@@ -62,7 +62,6 @@ public class LettuceClientConfigurationUnitTests {
|
||||
.shutdownTimeout(Duration.ofHours(2)) //
|
||||
.build();
|
||||
|
||||
assertThat(configuration.isUsePooling()).isFalse();
|
||||
assertThat(configuration.isUseSsl()).isTrue();
|
||||
assertThat(configuration.isVerifyPeer()).isFalse();
|
||||
assertThat(configuration.isStartTls()).isTrue();
|
||||
|
||||
@@ -338,7 +338,7 @@ public class LettuceConnectionFactoryTests {
|
||||
|
||||
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
|
||||
|
||||
LettuceClientConfiguration configuration = LettucePoolingClientConfiguration.builder().poolConfig(poolConfig).and()
|
||||
LettuceClientConfiguration configuration = LettucePoolingClientConfiguration.builder().poolConfig(poolConfig)
|
||||
.clientResources(LettuceTestClientResources.getSharedClientResources()).shutdownTimeout(Duration.ZERO).build();
|
||||
|
||||
LettuceConnectionFactory factory = new LettuceConnectionFactory(new RedisStandaloneConfiguration(), configuration);
|
||||
|
||||
@@ -29,6 +29,7 @@ import org.junit.Test;
|
||||
* Unit tests for {@link LettucePoolingClientConfiguration}.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @author Christoph Strobl
|
||||
*/
|
||||
public class LettucePoolingClientConfigurationUnitTests {
|
||||
|
||||
@@ -37,7 +38,6 @@ public class LettucePoolingClientConfigurationUnitTests {
|
||||
|
||||
LettucePoolingClientConfiguration configuration = LettucePoolingClientConfiguration.defaultConfiguration();
|
||||
|
||||
assertThat(configuration.isUsePooling()).isTrue();
|
||||
assertThat(configuration.getPoolConfig()).isNotNull();
|
||||
assertThat(configuration.isUseSsl()).isFalse();
|
||||
assertThat(configuration.isVerifyPeer()).isTrue();
|
||||
@@ -55,19 +55,17 @@ public class LettucePoolingClientConfigurationUnitTests {
|
||||
ClientResources sharedClientResources = LettuceTestClientResources.getSharedClientResources();
|
||||
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
|
||||
|
||||
LettucePoolingClientConfiguration configuration = (LettucePoolingClientConfiguration) LettucePoolingClientConfiguration
|
||||
.builder() //
|
||||
.poolConfig(poolConfig).and() //
|
||||
LettucePoolingClientConfiguration configuration = LettucePoolingClientConfiguration.builder() //
|
||||
.useSsl() //
|
||||
.disablePeerVerification() //
|
||||
.startTls().and() //
|
||||
.poolConfig(poolConfig) //
|
||||
.clientOptions(clientOptions) //
|
||||
.clientResources(sharedClientResources) //
|
||||
.commandTimeout(Duration.ofMinutes(5)) //
|
||||
.shutdownTimeout(Duration.ofHours(2)) //
|
||||
.build();
|
||||
|
||||
assertThat(configuration.isUsePooling()).isTrue();
|
||||
assertThat(configuration.getPoolConfig()).isEqualTo(poolConfig);
|
||||
assertThat(configuration.isUseSsl()).isTrue();
|
||||
assertThat(configuration.isVerifyPeer()).isFalse();
|
||||
|
||||
@@ -115,11 +115,11 @@ public abstract class LettuceReactiveCommandsTestsBase {
|
||||
public void setUp() {
|
||||
|
||||
if (nativeConnectionProvider instanceof StandaloneConnectionProvider) {
|
||||
nativeCommands = ((StatefulRedisConnection) nativeConnectionProvider.getConnection()).sync();
|
||||
nativeCommands = nativeConnectionProvider.getConnection(StatefulRedisConnection.class).sync();
|
||||
this.connection = new LettuceReactiveRedisConnection(connectionProvider);
|
||||
|
||||
} else {
|
||||
nativeCommands = ((StatefulRedisClusterConnection) nativeConnectionProvider.getConnection()).sync();
|
||||
nativeCommands = nativeConnectionProvider.getConnection(StatefulRedisClusterConnection.class).sync();
|
||||
this.connection = new LettuceReactiveRedisClusterConnection(connectionProvider);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,9 @@ public class LettuceSentinelIntegrationTests extends AbstractConnectionIntegrati
|
||||
public @Rule MinimumRedisVersionRule minimumVersionRule = new MinimumRedisVersionRule();
|
||||
|
||||
public LettuceSentinelIntegrationTests(LettuceConnectionFactory connectionFactory, String displayName) {
|
||||
|
||||
this.connectionFactory = connectionFactory;
|
||||
ConnectionFactoryTracker.add(connectionFactory);
|
||||
}
|
||||
|
||||
@Parameters(name = "{1}")
|
||||
@@ -78,13 +80,11 @@ public class LettuceSentinelIntegrationTests extends AbstractConnectionIntegrati
|
||||
lettuceConnectionFactory.afterPropertiesSet();
|
||||
|
||||
LettuceConnectionFactory pooledConnectionFactory = new LettuceConnectionFactory(SENTINEL_CONFIG,
|
||||
LettucePoolingClientConfiguration.builder().build());
|
||||
LettucePoolingClientConfiguration.builder()
|
||||
.clientResources(LettuceTestClientResources.getSharedClientResources()).build());
|
||||
pooledConnectionFactory.setShareNativeConnection(false);
|
||||
pooledConnectionFactory.afterPropertiesSet();
|
||||
|
||||
ConnectionFactoryTracker.add(lettuceConnectionFactory);
|
||||
ConnectionFactoryTracker.add(pooledConnectionFactory);
|
||||
|
||||
parameters.add(new Object[] { lettuceConnectionFactory, "Sentinel" });
|
||||
parameters.add(new Object[] { pooledConnectionFactory, "Sentinel/Pooled" });
|
||||
|
||||
|
||||
@@ -66,8 +66,8 @@ abstract public class ReactiveOperationsTestParams {
|
||||
.clientResources(LettuceTestClientResources.getSharedClientResources()) //
|
||||
.build();
|
||||
|
||||
LettuceClientConfiguration poolingConfiguration = LettucePoolingClientConfiguration.builder() //
|
||||
.and().shutdownTimeout(Duration.ZERO) //
|
||||
LettucePoolingClientConfiguration poolingConfiguration = LettucePoolingClientConfiguration.builder() //
|
||||
.shutdownTimeout(Duration.ZERO) //
|
||||
.clientResources(LettuceTestClientResources.getSharedClientResources()) //
|
||||
.build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user