Skip to content

Commit 09d8678

Browse files
committed
Fixed test
1 parent 9018b23 commit 09d8678

File tree

3 files changed

+63
-56
lines changed

3 files changed

+63
-56
lines changed

redis/asyncio/cluster.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,10 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand
110110
:param startup_nodes:
111111
| :class:`~.ClusterNode` to used as a startup node
112112
:param require_full_coverage:
113-
| When set to ``False``: the client will not require a full coverage of the
114-
slots. However, if not all slots are covered, and at least one node has
115-
``cluster-require-full-coverage`` set to ``yes``, the server will throw a
116-
:class:`~.ClusterDownError` for some key-based commands.
113+
| When set to ``False``: the client will not require a full coverage of
114+
the slots. However, if not all slots are covered, and at least one node
115+
has ``cluster-require-full-coverage`` set to ``yes``, the server will throw
116+
a :class:`~.ClusterDownError` for some key-based commands.
117117
| When set to ``True``: all slots must be covered to construct the cluster
118118
client. If not all slots are covered, :class:`~.RedisClusterException` will be
119119
thrown.

tests/test_asyncio/test_cluster.py

Lines changed: 58 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -249,63 +249,70 @@ async def test_startup_nodes(self) -> None:
249249
]
250250
)
251251

252-
async def test_cluster_get_set_retry_object(self, request):
252+
async def test_cluster_set_get_retry_object(self, request: FixtureRequest):
253253
retry = Retry(NoBackoff(), 2)
254254
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:
275275
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+
287286
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+
)
293295

294-
# Test no connection retries
295-
rc_no_retries = await RedisCluster.from_url(
296+
async with RedisCluster.from_url(
296297
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+
)
309316

310317
async def test_empty_startup_nodes(self) -> None:
311318
"""

tests/test_cluster.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ def test_handling_cluster_failover_to_a_replica(self, r):
365365
key = "key"
366366
r.set("key", "value")
367367
primary = r.get_node_from_key(key, replica=False)
368-
assert r.get("key") == "value"
368+
assert str_if_bytes(r.get("key")) == "value"
369369
# Get the current output of cluster slots
370370
cluster_slots = primary.redis_connection.execute_command("CLUSTER SLOTS")
371371
replica_host = ""

0 commit comments

Comments
 (0)