mirror of
https://github.com/chatmail/core.git
synced 2026-04-05 23:22:11 +03:00
test and fix buggy parsing of incoming message which would show MDNs as empty incoming messages
This commit is contained in:
@@ -99,12 +99,16 @@ class FFIEventTracker:
|
||||
break
|
||||
|
||||
def get_matching(self, event_name_regex, check_error=True, timeout=None):
|
||||
for ev in self.yield_matching(event_name_regex, check_error, timeout):
|
||||
return ev
|
||||
|
||||
def yield_matching(self, event_name_regex, check_error=True, timeout=None):
|
||||
self.account.log("-- waiting for event with regex: {} --".format(event_name_regex))
|
||||
rex = re.compile("(?:{}).*".format(event_name_regex))
|
||||
while 1:
|
||||
ev = self.get(timeout=timeout, check_error=check_error)
|
||||
if rex.match(ev.name):
|
||||
return ev
|
||||
yield ev
|
||||
|
||||
def get_info_matching(self, regex):
|
||||
rex = re.compile("(?:{}).*".format(regex))
|
||||
|
||||
@@ -1087,13 +1087,11 @@ class TestOnlineAccount:
|
||||
lp.sec("ac2: mark seen {}".format(msg))
|
||||
msg.mark_seen()
|
||||
|
||||
lp.sec("ac2: send echo message")
|
||||
msg.chat.send_text("world")
|
||||
|
||||
lp.sec("ac1: waiting for echo message")
|
||||
incoming = message_queue.get(timeout=10)
|
||||
assert incoming.text == "world"
|
||||
assert msg.is_in_seen()
|
||||
for ev in ac1._evtracker.yield_matching(""):
|
||||
if ev.name == "DC_EVENT_INCOMING_MSG":
|
||||
pytest.fail("MDN arrived as regular incoming message")
|
||||
elif ev.name == "DC_EVENT_MSG_READ":
|
||||
break
|
||||
|
||||
def test_send_and_receive_image(self, acfactory, lp, data):
|
||||
ac1, ac2 = acfactory.get_two_online_accounts()
|
||||
|
||||
Reference in New Issue
Block a user