Skip to content

Commit 8f9f9d4

Browse files
committedDec 17, 2024·
Update tests
1 parent 9bcfc99 commit 8f9f9d4

File tree

1 file changed

+28
-22
lines changed

1 file changed

+28
-22
lines changed
 

‎tests/test_asyncio/test_cluster.py

+28-22
Original file line numberDiff line numberDiff line change
@@ -190,19 +190,25 @@ def mock_node_resp(node: ClusterNode, response: Any) -> ClusterNode:
190190
connection = mock.AsyncMock(spec=Connection)
191191
connection.is_connected = True
192192
connection.read_response.return_value = response
193-
while node._free:
194-
node._free.pop()
195-
node._free.append(connection)
193+
while True:
194+
try:
195+
node._free.get_nowait()
196+
except asyncio.QueueEmpty:
197+
break
198+
node._free.put_nowait(connection)
196199
return node
197200

198201

199202
def mock_node_resp_exc(node: ClusterNode, exc: Exception) -> ClusterNode:
200203
connection = mock.AsyncMock(spec=Connection)
201204
connection.is_connected = True
202205
connection.read_response.side_effect = exc
203-
while node._free:
204-
node._free.pop()
205-
node._free.append(connection)
206+
while True:
207+
try:
208+
node._free.get_nowait()
209+
except asyncio.QueueEmpty:
210+
break
211+
node._free.put_nowait(connection)
206212
return node
207213

208214

@@ -482,10 +488,10 @@ async def test_execute_command_node_flag_primaries(self, r: RedisCluster) -> Non
482488
mock_all_nodes_resp(r, "PONG")
483489
assert await r.ping(target_nodes=RedisCluster.PRIMARIES) is True
484490
for primary in primaries:
485-
conn = primary._free.pop()
491+
conn = primary._free.get_nowait()
486492
assert conn.read_response.called is True
487493
for replica in replicas:
488-
conn = replica._free.pop()
494+
conn = replica._free.get_nowait()
489495
assert conn.read_response.called is not True
490496

491497
async def test_execute_command_node_flag_replicas(self, r: RedisCluster) -> None:
@@ -499,10 +505,10 @@ async def test_execute_command_node_flag_replicas(self, r: RedisCluster) -> None
499505
mock_all_nodes_resp(r, "PONG")
500506
assert await r.ping(target_nodes=RedisCluster.REPLICAS) is True
501507
for replica in replicas:
502-
conn = replica._free.pop()
508+
conn = replica._free.get_nowait()
503509
assert conn.read_response.called is True
504510
for primary in primaries:
505-
conn = primary._free.pop()
511+
conn = primary._free.get_nowait()
506512
assert conn.read_response.called is not True
507513

508514
await r.aclose()
@@ -514,7 +520,7 @@ async def test_execute_command_node_flag_all_nodes(self, r: RedisCluster) -> Non
514520
mock_all_nodes_resp(r, "PONG")
515521
assert await r.ping(target_nodes=RedisCluster.ALL_NODES) is True
516522
for node in r.get_nodes():
517-
conn = node._free.pop()
523+
conn = node._free.get_nowait()
518524
assert conn.read_response.called is True
519525

520526
async def test_execute_command_node_flag_random(self, r: RedisCluster) -> None:
@@ -525,7 +531,7 @@ async def test_execute_command_node_flag_random(self, r: RedisCluster) -> None:
525531
assert await r.ping(target_nodes=RedisCluster.RANDOM) is True
526532
called_count = 0
527533
for node in r.get_nodes():
528-
conn = node._free.pop()
534+
conn = node._free.get_nowait()
529535
if conn.read_response.called is True:
530536
called_count += 1
531537
assert called_count == 1
@@ -538,7 +544,7 @@ async def test_execute_command_default_node(self, r: RedisCluster) -> None:
538544
def_node = r.get_default_node()
539545
mock_node_resp(def_node, "PONG")
540546
assert await r.ping() is True
541-
conn = def_node._free.pop()
547+
conn = def_node._free.get_nowait()
542548
assert conn.read_response.called
543549

544550
async def test_ask_redirection(self, r: RedisCluster) -> None:
@@ -1106,8 +1112,8 @@ async def test_cluster_delslots(self) -> None:
11061112
node0 = r.get_node(default_host, 7000)
11071113
node1 = r.get_node(default_host, 7001)
11081114
assert await r.cluster_delslots(0, 8192) == [True, True]
1109-
assert node0._free.pop().read_response.called
1110-
assert node1._free.pop().read_response.called
1115+
assert node0._free.get_nowait().read_response.called
1116+
assert node1._free.get_nowait().read_response.called
11111117

11121118
await r.aclose()
11131119

@@ -1119,7 +1125,7 @@ async def test_cluster_delslotsrange(self):
11191125
node = r.get_random_node()
11201126
await r.cluster_addslots(node, 1, 2, 3, 4, 5)
11211127
assert await r.cluster_delslotsrange(1, 5)
1122-
assert node._free.pop().read_response.called
1128+
assert node._free.get_nowait().read_response.called
11231129
await r.aclose()
11241130

11251131
@skip_if_redis_enterprise()
@@ -1279,7 +1285,7 @@ async def test_cluster_setslot_stable(self, r: RedisCluster) -> None:
12791285
node = r.nodes_manager.get_node_from_slot(12182)
12801286
mock_node_resp(node, "OK")
12811287
assert await r.cluster_setslot_stable(12182) is True
1282-
assert node._free.pop().read_response.called
1288+
assert node._free.get_nowait().read_response.called
12831289

12841290
@skip_if_redis_enterprise()
12851291
async def test_cluster_replicas(self, r: RedisCluster) -> None:
@@ -1328,7 +1334,7 @@ async def test_readonly(self) -> None:
13281334
for res in all_replicas_results.values():
13291335
assert res is True
13301336
for replica in r.get_replicas():
1331-
assert replica._free.pop().read_response.called
1337+
assert replica._free.get_nowait().read_response.called
13321338

13331339
await r.aclose()
13341340

@@ -1341,7 +1347,7 @@ async def test_readwrite(self) -> None:
13411347
for res in all_replicas_results.values():
13421348
assert res is True
13431349
for replica in r.get_replicas():
1344-
assert replica._free.pop().read_response.called
1350+
assert replica._free.get_nowait().read_response.called
13451351

13461352
await r.aclose()
13471353

@@ -2800,8 +2806,8 @@ async def test_asking_error(self, r: RedisCluster) -> None:
28002806
mock_node_resp_exc(first_node, AskError(ask_msg))
28012807
mock_node_resp(ask_node, "MOCK_OK")
28022808
res = await pipe.get(key).execute()
2803-
assert first_node._free.pop().read_response.await_count
2804-
assert ask_node._free.pop().read_response.await_count
2809+
assert first_node._free.get_nowait().read_response.await_count
2810+
assert ask_node._free.get_nowait().read_response.await_count
28052811
assert res == ["MOCK_OK"]
28062812

28072813
@skip_if_server_version_gte("7.0.0")
@@ -2857,7 +2863,7 @@ async def test_readonly_pipeline_from_readonly_client(
28572863
executed_on_replica = False
28582864
for node in slot_nodes:
28592865
if node.server_type == REPLICA:
2860-
if node._free.pop().read_response.await_count:
2866+
if node._free.get_nowait().read_response.await_count:
28612867
executed_on_replica = True
28622868
break
28632869
assert executed_on_replica

0 commit comments

Comments
 (0)
Please sign in to comment.