add test for markseen not sending out smtp on second call

This commit is contained in:
holger krekel
2019-10-02 23:28:44 +02:00
parent 509a21ff05
commit 230c65594c
2 changed files with 11 additions and 2 deletions

View File

@@ -574,11 +574,11 @@ class EventLogger:
else: else:
assert not rex.match(ev[0]), "event found {}".format(ev) assert not rex.match(ev[0]), "event found {}".format(ev)
def get_matching(self, event_name_regex, check_error=True): def get_matching(self, event_name_regex, check_error=True, timeout=None):
self._log("-- waiting for event with regex: {} --".format(event_name_regex)) self._log("-- waiting for event with regex: {} --".format(event_name_regex))
rex = re.compile("(?:{}).*".format(event_name_regex)) rex = re.compile("(?:{}).*".format(event_name_regex))
while 1: while 1:
ev = self.get() ev = self.get(timeout=timeout, check_error=check_error)
if rex.match(ev[0]): if rex.match(ev[0]):
return ev return ev

View File

@@ -1,6 +1,7 @@
from __future__ import print_function from __future__ import print_function
import pytest import pytest
import os import os
import queue
from deltachat import const, Account from deltachat import const, Account
from deltachat.message import Message from deltachat.message import Message
from datetime import datetime, timedelta from datetime import datetime, timedelta
@@ -475,6 +476,14 @@ class TestOnlineAccount:
lp.step("2") lp.step("2")
assert msg_out.is_out_mdn_received() assert msg_out.is_out_mdn_received()
lp.sec("check that a second call to mark_seen does not create change or smtp job")
ac2._evlogger.consume_events()
ac2.mark_seen_messages([msg_in])
try:
ac2._evlogger.get_matching("DC_EVENT_MSG_READ", timeout=0.01)
except queue.Empty:
pass # mark_seen_messages() has generated events before it returns
def test_send_and_receive_will_encrypt_decrypt(self, acfactory, lp): def test_send_and_receive_will_encrypt_decrypt(self, acfactory, lp):
ac1, ac2 = acfactory.get_two_online_accounts() ac1, ac2 = acfactory.get_two_online_accounts()