Skip to content

Commit 408c318

Browse files
committed
Modified tests to accomodate for get_message default behaviour change
1 parent a1cfca6 commit 408c318

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

tests/test_asyncio/test_pubsub.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ async def wait_for_message(pubsub, timeout=0.2, ignore_subscribe_messages=False)
4040
timeout = now + timeout
4141
while now < timeout:
4242
message = await pubsub.get_message(
43-
ignore_subscribe_messages=ignore_subscribe_messages
43+
ignore_subscribe_messages=ignore_subscribe_messages, timeout=0.01
4444
)
4545
if message is not None:
4646
return message
@@ -357,6 +357,15 @@ async def test_published_message_to_channel(self, r: redis.Redis, pubsub):
357357
assert isinstance(message, dict)
358358
assert message == make_message("message", "foo", "test message")
359359

360+
async def test_published_message_to_channel_with_blocking_get_message(self, r: redis.Redis, pubsub):
361+
await pubsub.subscribe("foo")
362+
assert await wait_for_message(pubsub) == make_message("subscribe", "foo", 1)
363+
364+
assert await r.publish("foo", "test message") == 1
365+
message = await pubsub.get_message(ignore_subscribe_messages=True)
366+
assert isinstance(message, dict)
367+
assert message == make_message("message", "foo", "test message")
368+
360369
async def test_published_message_to_pattern(self, r: redis.Redis, pubsub):
361370
p = pubsub
362371
await p.subscribe("foo")

tests/test_pubsub.py

+15-5
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ def wait_for_message(
2828
while now < timeout:
2929
if node:
3030
message = pubsub.get_sharded_message(
31-
ignore_subscribe_messages=ignore_subscribe_messages, target_node=node
31+
ignore_subscribe_messages=ignore_subscribe_messages, target_node=node, timeout=0.01
3232
)
3333
elif func:
34-
message = func(ignore_subscribe_messages=ignore_subscribe_messages)
34+
message = func(ignore_subscribe_messages=ignore_subscribe_messages, timeout=0.01)
3535
else:
3636
message = pubsub.get_message(
37-
ignore_subscribe_messages=ignore_subscribe_messages
37+
ignore_subscribe_messages=ignore_subscribe_messages, timeout=0.01
3838
)
3939
if message is not None:
4040
return message
@@ -475,6 +475,16 @@ def test_published_message_to_channel(self, r):
475475
assert isinstance(message, dict)
476476
assert message == make_message("message", "foo", "test message")
477477

478+
async def test_published_message_to_channel_with_blocking_get_message(self, r):
479+
pubsub = r.pubsub()
480+
pubsub.subscribe("foo")
481+
assert wait_for_message(pubsub) == make_message("subscribe", "foo", 1)
482+
483+
assert r.publish("foo", "test message") == 1
484+
message = pubsub.get_message(ignore_subscribe_messages=True)
485+
assert isinstance(message, dict)
486+
assert message == make_message("message", "foo", "test message")
487+
478488
@pytest.mark.onlynoncluster
479489
@skip_if_server_version_lt("7.0.0")
480490
def test_published_message_to_shard_channel(self, r):
@@ -920,7 +930,7 @@ def test_get_message_with_timeout_returns_none(self, r):
920930
def test_get_message_not_subscribed_return_none(self, r):
921931
p = r.pubsub()
922932
assert p.subscribed is False
923-
assert p.get_message() is None
933+
assert p.get_message(timeout=0) is None
924934
assert p.get_message(timeout=0.1) is None
925935
with patch.object(threading.Event, "wait") as mock:
926936
mock.return_value = False
@@ -931,7 +941,7 @@ def test_get_message_subscribe_during_waiting(self, r):
931941
p = r.pubsub()
932942

933943
def poll(ps, expected_res):
934-
assert ps.get_message() is None
944+
assert ps.get_message(timeout=0) is None
935945
message = ps.get_message(timeout=1)
936946
assert message == expected_res
937947

0 commit comments

Comments
 (0)