Skip to content

Commit 907eebd

Browse files
committed
chore: refactor integration tests removing usage of deprecated connection methods from command APIs
Signed-off-by: The-East-Wind <[email protected]>
1 parent 3d41c0a commit 907eebd

8 files changed

+214
-258
lines changed

src/test/java/biz/paluch/redis/extensibility/MyExtendedRedisClientIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ void testPubsub() throws Exception {
5050
StatefulRedisPubSubConnection<String, String> connection = client.connectPubSub();
5151
RedisPubSubAsyncCommands<String, String> commands = connection.async();
5252
assertThat(commands).isInstanceOf(RedisPubSubAsyncCommandsImpl.class);
53-
assertThat(commands.getStatefulConnection()).isInstanceOf(MyPubSubConnection.class);
53+
assertThat(connection).isInstanceOf(MyPubSubConnection.class);
5454
commands.set("key", "value").get();
5555
connection.close();
5656
}

src/test/java/io/lettuce/core/AsyncConnectionIntegrationTests.java

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,23 +44,21 @@
4444
/**
4545
* @author Will Glozer
4646
* @author Mark Paluch
47+
* @author Hari Mani
4748
*/
4849
@Tag(INTEGRATION_TEST)
4950
@ExtendWith(LettuceExtension.class)
5051
class AsyncConnectionIntegrationTests extends TestSupport {
5152

5253
private final RedisClient client;
5354

54-
private final StatefulRedisConnection<String, String> connection;
55-
5655
private final RedisAsyncCommands<String, String> async;
5756

5857
@Inject
5958
AsyncConnectionIntegrationTests(RedisClient client, StatefulRedisConnection<String, String> connection) {
6059
this.client = client;
61-
this.connection = connection;
6260
this.async = connection.async();
63-
this.connection.sync().flushall();
61+
connection.sync().flushall();
6462
}
6563

6664
@Test
@@ -121,23 +119,14 @@ void futureListener() {
121119
Delay.delay(Duration.ofMillis(100));
122120

123121
assertThat(run).hasSize(1);
124-
125-
connection.getStatefulConnection().close();
126122
}
127123

128124
@Test
129125
void futureListenerCompleted() {
130126

131127
final List<Object> run = new ArrayList<>();
132128

133-
Runnable listener = new Runnable() {
134-
135-
@Override
136-
public void run() {
137-
run.add(new Object());
138-
}
139-
140-
};
129+
Runnable listener = () -> run.add(new Object());
141130

142131
RedisAsyncCommands<String, String> connection = client.connect().async();
143132

@@ -147,8 +136,6 @@ public void run() {
147136
set.thenRun(listener);
148137

149138
assertThat(run).hasSize(1);
150-
151-
connection.getStatefulConnection().close();
152139
}
153140

154141
@Test

src/test/java/io/lettuce/core/ClientOptionsIntegrationTests.java

Lines changed: 52 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -118,88 +118,77 @@ void requestQueueSize() {
118118

119119
@Test
120120
void requestQueueSizeAppliedForReconnect() {
121-
122121
client.setOptions(ClientOptions.builder().requestQueueSize(10)
123122
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
124-
125-
RedisAsyncCommands<String, String> connection = client.connect().async();
126-
testHitRequestQueueLimit(connection);
123+
final StatefulRedisConnection<String, String> connection = client.connect();
124+
final RedisAsyncCommands<String, String> commands = connection.async();
125+
testHitRequestQueueLimit(commands, connection);
127126
}
128127

129128
@Test
130129
void testHitRequestQueueLimitReconnectWithAuthCommand() {
131-
132130
WithPassword.run(client, () -> {
133-
134131
client.setOptions(ClientOptions.builder().protocolVersion(ProtocolVersion.RESP2).pingBeforeActivateConnection(false)
135132
.requestQueueSize(10).timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
136-
137-
RedisAsyncCommands<String, String> connection = client.connect().async();
138-
connection.auth(passwd);
139-
testHitRequestQueueLimit(connection);
133+
final StatefulRedisConnection<String, String> connection = client.connect();
134+
final RedisAsyncCommands<String, String> commands = connection.async();
135+
commands.auth(passwd);
136+
testHitRequestQueueLimit(commands, connection);
140137
});
141138
}
142139

143140
@Test
144141
@EnabledOnCommand("ACL")
145142
void testHitRequestQueueLimitReconnectWithAuthUsernamePasswordCommand() {
146-
147143
WithPassword.run(client, () -> {
148-
149144
client.setOptions(ClientOptions.builder().protocolVersion(ProtocolVersion.RESP2).pingBeforeActivateConnection(false)
150145
.requestQueueSize(10).timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
151-
152-
RedisAsyncCommands<String, String> connection = client.connect().async();
153-
connection.auth(username, passwd);
154-
testHitRequestQueueLimit(connection);
146+
final StatefulRedisConnection<String, String> connection = client.connect();
147+
final RedisAsyncCommands<String, String> commands = connection.async();
148+
commands.auth(username, passwd);
149+
testHitRequestQueueLimit(commands, connection);
155150
});
156151
}
157152

158153
@Test
159154
void testHitRequestQueueLimitReconnectWithUriAuth() {
160-
161155
WithPassword.run(client, () -> {
162156
client.setOptions(ClientOptions.builder().requestQueueSize(10)
163157
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
164-
;
165-
166-
RedisURI redisURI = RedisURI.create(host, port);
158+
final RedisURI redisURI = RedisURI.create(host, port);
167159
redisURI.setPassword(passwd);
168-
169-
RedisAsyncCommands<String, String> connection = client.connect(redisURI).async();
170-
testHitRequestQueueLimit(connection);
160+
final StatefulRedisConnection<String, String> connection = client.connect(redisURI);
161+
final RedisAsyncCommands<String, String> commands = connection.async();
162+
testHitRequestQueueLimit(commands, connection);
171163
});
172164
}
173165

174166
@Test
175167
void testHitRequestQueueLimitReconnectWithUriAuthPingCommand() {
176-
177168
WithPassword.run(client, () -> {
178-
179169
client.setOptions(ClientOptions.builder().requestQueueSize(10)
180170
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
181-
182-
RedisURI redisURI = RedisURI.create(host, port);
171+
final RedisURI redisURI = RedisURI.create(host, port);
183172
redisURI.setPassword(passwd);
184-
185-
RedisAsyncCommands<String, String> connection = client.connect(redisURI).async();
186-
testHitRequestQueueLimit(connection);
173+
final StatefulRedisConnection<String, String> connection = client.connect(redisURI);
174+
RedisAsyncCommands<String, String> commands = connection.async();
175+
testHitRequestQueueLimit(commands, connection);
187176
});
188177
}
189178

190-
private void testHitRequestQueueLimit(RedisAsyncCommands<String, String> connection) {
191-
192-
ConnectionWatchdog watchdog = getConnectionWatchdog(connection.getStatefulConnection());
179+
private void testHitRequestQueueLimit(final RedisAsyncCommands<String, String> commands,
180+
final StatefulRedisConnection<String, String> connection) {
181+
ConnectionWatchdog watchdog = getConnectionWatchdog(connection);
193182

194183
watchdog.setListenOnChannelInactive(false);
195184

196-
connection.quit();
185+
commands.quit();
197186

198-
Wait.untilTrue(() -> !connection.getStatefulConnection().isOpen()).waitOrTimeout();
187+
Wait.untilTrue(() -> !connection.isOpen()).waitOrTimeout();
199188

200189
List<RedisFuture<String>> pings = new ArrayList<>();
201190
for (int i = 0; i < 10; i++) {
202-
pings.add(connection.ping());
191+
pings.add(commands.ping());
203192
}
204193

205194
watchdog.setListenOnChannelInactive(true);
@@ -208,8 +197,7 @@ private void testHitRequestQueueLimit(RedisAsyncCommands<String, String> connect
208197
for (RedisFuture<String> ping : pings) {
209198
assertThat(TestFutures.getOrTimeout(ping)).isEqualTo("PONG");
210199
}
211-
212-
connection.getStatefulConnection().close();
200+
connection.close();
213201
}
214202

215203
@Test
@@ -252,68 +240,52 @@ void requestQueueSizeOvercommittedReconnect() {
252240

253241
@Test
254242
void disconnectedWithoutReconnect() {
255-
256243
client.setOptions(ClientOptions.builder().autoReconnect(false).build());
257-
258-
RedisAsyncCommands<String, String> connection = client.connect().async();
259-
260-
connection.quit();
261-
Wait.untilTrue(() -> !connection.getStatefulConnection().isOpen()).waitOrTimeout();
262-
try {
263-
connection.get(key);
244+
try (final StatefulRedisConnection<String, String> connection = client.connect()) {
245+
RedisAsyncCommands<String, String> commands = connection.async();
246+
commands.quit();
247+
Wait.untilTrue(() -> !connection.isOpen()).waitOrTimeout();
248+
commands.get(key);
264249
} catch (Exception e) {
265250
assertThat(e).isInstanceOf(RedisException.class).hasMessageContaining("not connected");
266-
} finally {
267-
connection.getStatefulConnection().close();
268251
}
269252
}
270253

271254
@Test
272255
void disconnectedRejectCommands() {
273-
274256
client.setOptions(ClientOptions.builder().disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS)
275257
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
276-
277-
RedisAsyncCommands<String, String> connection = client.connect().async();
278-
279-
getConnectionWatchdog(connection.getStatefulConnection()).setListenOnChannelInactive(false);
280-
connection.quit();
281-
Wait.untilTrue(() -> !connection.getStatefulConnection().isOpen()).waitOrTimeout();
282-
try {
283-
connection.get(key);
258+
try (final StatefulRedisConnection<String, String> connection = client.connect()) {
259+
RedisAsyncCommands<String, String> commands = connection.async();
260+
getConnectionWatchdog(connection).setListenOnChannelInactive(false);
261+
commands.quit();
262+
Wait.untilTrue(() -> !connection.isOpen()).waitOrTimeout();
263+
commands.get(key);
284264
} catch (Exception e) {
285265
assertThat(e).isInstanceOf(RedisException.class).hasMessageContaining("not connected");
286-
} finally {
287-
connection.getStatefulConnection().close();
288266
}
289267
}
290268

291269
@Test
292270
void disconnectedAcceptCommands() {
293-
294271
client.setOptions(ClientOptions.builder().autoReconnect(false)
295272
.disconnectedBehavior(ClientOptions.DisconnectedBehavior.ACCEPT_COMMANDS).build());
296-
297-
RedisAsyncCommands<String, String> connection = client.connect().async();
298-
299-
connection.quit();
300-
Wait.untilTrue(() -> !connection.getStatefulConnection().isOpen()).waitOrTimeout();
301-
connection.get(key);
302-
connection.getStatefulConnection().close();
273+
try (final StatefulRedisConnection<String, String> connection = client.connect()) {
274+
RedisAsyncCommands<String, String> commands = connection.async();
275+
commands.quit();
276+
Wait.untilTrue(() -> !connection.isOpen()).waitOrTimeout();
277+
commands.get(key);
278+
}
303279
}
304280

305281
@Test
306282
@Inject
307283
void pingBeforeConnect(StatefulRedisConnection<String, String> sharedConnection) {
308-
309284
sharedConnection.sync().set(key, value);
310-
RedisCommands<String, String> connection = client.connect().sync();
311-
312-
try {
313-
String result = connection.get(key);
285+
try (final StatefulRedisConnection<String, String> connection = client.connect()) {
286+
RedisCommands<String, String> commands = connection.sync();
287+
String result = commands.get(key);
314288
assertThat(result).isEqualTo(value);
315-
} finally {
316-
connection.getStatefulConnection().close();
317289
}
318290
}
319291

@@ -337,17 +309,12 @@ void connectTimeout() throws Exception {
337309

338310
@Test
339311
void connectWithAuthentication() {
340-
341312
WithPassword.run(client, () -> {
342313
RedisURI redisURI = RedisURI.Builder.redis(host, port).withPassword(passwd).build();
343-
344-
RedisCommands<String, String> connection = client.connect(redisURI).sync();
345-
346-
try {
347-
String result = connection.info();
314+
try (final StatefulRedisConnection<String, String> connection = client.connect(redisURI)) {
315+
final RedisCommands<String, String> commands = connection.sync();
316+
String result = commands.info();
348317
assertThat(result).contains("memory");
349-
} finally {
350-
connection.getStatefulConnection().close();
351318
}
352319
});
353320
}
@@ -375,21 +342,14 @@ void authenticationTimeout() {
375342

376343
@Test
377344
void sslAndAuthentication() {
378-
379345
WithPassword.run(client, () -> {
380-
381346
RedisURI redisURI = RedisURI.Builder.redis(host, 6443).withPassword(passwd).withVerifyPeer(false).withSsl(true)
382347
.build();
383-
384-
RedisCommands<String, String> connection = client.connect(redisURI).sync();
385-
386-
try {
387-
String result = connection.info();
348+
try (final StatefulRedisConnection<String, String> connection = client.connect(redisURI)) {
349+
final RedisCommands<String, String> commands = connection.sync();
350+
String result = commands.info();
388351
assertThat(result).contains("memory");
389-
} finally {
390-
connection.getStatefulConnection().close();
391352
}
392-
393353
});
394354
}
395355

0 commit comments

Comments
 (0)