api(rpc-client): add Account.wait_for_msg()

This commit is contained in:
link2xt
2025-11-11 07:37:19 +00:00
committed by l
parent 7b54954401
commit a66808e25a
2 changed files with 11 additions and 2 deletions

View File

@@ -417,12 +417,21 @@ class Account:
"""Wait for messages noticed event and return it.""" """Wait for messages noticed event and return it."""
return self.wait_for_event(EventType.MSGS_NOTICED) return self.wait_for_event(EventType.MSGS_NOTICED)
def wait_for_msg(self, event_type) -> Message:
"""Wait for an event about the message.
Consumes all events before the matching event.
Returns a message corresponding to the msg_id field of the event.
"""
event = self.wait_for_event(event_type)
return self.get_message_by_id(event.msg_id)
def wait_for_incoming_msg(self): def wait_for_incoming_msg(self):
"""Wait for incoming message and return it. """Wait for incoming message and return it.
Consumes all events before the next incoming message event. Consumes all events before the next incoming message event.
""" """
return self.get_message_by_id(self.wait_for_incoming_msg_event().msg_id) return self.wait_for_msg(EventType.INCOMING_MSG)
def wait_for_securejoin_inviter_success(self): def wait_for_securejoin_inviter_success(self):
"""Wait until SecureJoin process finishes successfully on the inviter side.""" """Wait until SecureJoin process finishes successfully on the inviter side."""

View File

@@ -738,7 +738,7 @@ def test_read_receipt(acfactory):
msg = bob.wait_for_incoming_msg() msg = bob.wait_for_incoming_msg()
msg.mark_seen() msg.mark_seen()
read_msg = alice.get_message_by_id(alice.wait_for_event(EventType.MSG_READ).msg_id) read_msg = alice.wait_for_msg(EventType.MSG_READ)
read_receipts = read_msg.get_read_receipts() read_receipts = read_msg.get_read_receipts()
assert len(read_receipts) == 1 assert len(read_receipts) == 1
assert read_receipts[0].contact_id == alice_contact_bob.id assert read_receipts[0].contact_id == alice_contact_bob.id