@@ -249,63 +249,70 @@ async def test_startup_nodes(self) -> None:
249
249
]
250
250
)
251
251
252
- async def test_cluster_get_set_retry_object (self , request ):
252
+ async def test_cluster_set_get_retry_object (self , request : FixtureRequest ):
253
253
retry = Retry (NoBackoff (), 2 )
254
254
url = request .config .getoption ("--redis-url" )
255
- r = await RedisCluster .from_url (url , retry = retry )
256
- assert r .get_retry ()._retries == retry ._retries
257
- assert isinstance (r .get_retry ()._backoff , NoBackoff )
258
- for node in r .get_nodes ():
259
- n_retry = node .connection_kwargs .get ("retry" )
260
- assert n_retry is not None
261
- assert n_retry ._retries == retry ._retries
262
- assert isinstance (n_retry ._backoff , NoBackoff )
263
- # Change retry policy
264
- new_retry = Retry (ExponentialBackoff (), 3 )
265
- r .set_retry (new_retry )
266
- assert r .get_retry ()._retries == new_retry ._retries
267
- assert isinstance (r .get_retry ()._backoff , ExponentialBackoff )
268
- for node in r .get_nodes ():
269
- n_retry = node .connection_kwargs .get ("retry" )
270
- assert n_retry is not None
271
- assert n_retry ._retries == new_retry ._retries
272
- assert isinstance (n_retry ._backoff , ExponentialBackoff )
273
-
274
- async def test_cluster_retry_object (self , request ) -> None :
255
+ async with RedisCluster .from_url (url , retry = retry ) as r :
256
+ assert r .get_retry ()._retries == retry ._retries
257
+ assert isinstance (r .get_retry ()._backoff , NoBackoff )
258
+ for node in r .get_nodes ():
259
+ n_retry = node .connection_kwargs .get ("retry" )
260
+ assert n_retry is not None
261
+ assert n_retry ._retries == retry ._retries
262
+ assert isinstance (n_retry ._backoff , NoBackoff )
263
+ # Change retry policy
264
+ new_retry = Retry (ExponentialBackoff (), 3 )
265
+ r .set_retry (new_retry )
266
+ assert r .get_retry ()._retries == new_retry ._retries
267
+ assert isinstance (r .get_retry ()._backoff , ExponentialBackoff )
268
+ for node in r .get_nodes ():
269
+ n_retry = node .connection_kwargs .get ("retry" )
270
+ assert n_retry is not None
271
+ assert n_retry ._retries == new_retry ._retries
272
+ assert isinstance (n_retry ._backoff , ExponentialBackoff )
273
+
274
+ async def test_cluster_retry_object (self , request : FixtureRequest ) -> None :
275
275
url = request .config .getoption ("--redis-url" )
276
- rc_default = await RedisCluster .from_url (url )
277
- # Test default retry
278
- retry = rc_default .connection_kwargs .get ("retry" )
279
- assert isinstance (retry , Retry )
280
- assert retry ._retries == 3
281
- assert isinstance (retry ._backoff , type (get_default_backoff ()))
282
- assert rc_default .get_node ("127.0.0.1" , 16379 ).connection_kwargs .get (
283
- "retry"
284
- ) == rc_default .get_node ("127.0.0.1" , 16380 ).connection_kwargs .get ("retry" )
285
-
286
- # Test custom retry
276
+ async with RedisCluster .from_url (url ) as rc_default :
277
+ # Test default retry
278
+ retry = rc_default .connection_kwargs .get ("retry" )
279
+ assert isinstance (retry , Retry )
280
+ assert retry ._retries == 3
281
+ assert isinstance (retry ._backoff , type (get_default_backoff ()))
282
+ assert rc_default .get_node ("127.0.0.1" , 16379 ).connection_kwargs .get (
283
+ "retry"
284
+ ) == rc_default .get_node ("127.0.0.1" , 16380 ).connection_kwargs .get ("retry" )
285
+
287
286
retry = Retry (ExponentialBackoff (10 , 5 ), 5 )
288
- rc_custom_retry = await RedisCluster .from_url (url , retry = retry )
289
- assert (
290
- rc_custom_retry .get_node ("127.0.0.1" , 16379 ).connection_kwargs .get ("retry" )
291
- == retry
292
- )
287
+ async with RedisCluster .from_url (url , retry = retry ) as rc_custom_retry :
288
+ # Test custom retry
289
+ assert (
290
+ rc_custom_retry .get_node ("127.0.0.1" , 16379 ).connection_kwargs .get (
291
+ "retry"
292
+ )
293
+ == retry
294
+ )
293
295
294
- # Test no connection retries
295
- rc_no_retries = await RedisCluster .from_url (
296
+ async with RedisCluster .from_url (
296
297
url , connection_error_retry_attempts = 0
297
- )
298
- assert (
299
- rc_no_retries .get_node ("127.0.0.1" , 16379 ).connection_kwargs .get ("retry" )
300
- is None
301
- )
302
- rc_no_retries = await RedisCluster .from_url (url , retry = Retry (NoBackoff (), 0 ))
303
- assert (
304
- rc_no_retries .get_node ("127.0.0.1" , 16379 )
305
- .connection_kwargs .get ("retry" )
306
- ._retries
307
- == 0
308
- )
298
+ ) as rc_no_retries :
299
+ # Test no connection retries
300
+ assert (
301
+ rc_no_retries .get_node ("127.0.0.1" , 16379 ).connection_kwargs .get (
302
+ "retry"
303
+ )
304
+ is None
305
+ )
306
+
307
+ async with RedisCluster .from_url (
308
+ url , retry = Retry (NoBackoff (), 0 )
309
+ ) as rc_no_retries :
310
+ assert (
311
+ rc_no_retries .get_node ("127.0.0.1" , 16379 )
312
+ .connection_kwargs .get ("retry" )
313
+ ._retries
314
+ == 0
315
+ )
309
316
310
317
async def test_empty_startup_nodes (self ) -> None :
311
318
"""
0 commit comments