mirror of
https://github.com/chatmail/core.git
synced 2026-05-04 22:06:29 +03:00
fix a couple of issues wrt to configuring move/mvbox behaviour in tests
This commit is contained in:
@@ -58,7 +58,6 @@ class Account(object):
|
|||||||
atexit.register(self.shutdown)
|
atexit.register(self.shutdown)
|
||||||
self._shutdown_event = Event()
|
self._shutdown_event = Event()
|
||||||
|
|
||||||
|
|
||||||
@hookspec.account_hookimpl
|
@hookspec.account_hookimpl
|
||||||
def process_ffi_event(self, ffi_event):
|
def process_ffi_event(self, ffi_event):
|
||||||
name = ffi_event.name
|
name = ffi_event.name
|
||||||
|
|||||||
@@ -68,4 +68,3 @@ class Global:
|
|||||||
@global_hookspec
|
@global_hookspec
|
||||||
def account_after_shutdown(self, account, dc_context):
|
def account_after_shutdown(self, account, dc_context):
|
||||||
""" Called after the account has been shutdown. """
|
""" Called after the account has been shutdown. """
|
||||||
|
|
||||||
|
|||||||
@@ -223,27 +223,28 @@ def acfactory(pytestconfig, tmpdir, request, session_liveconfig, datadir):
|
|||||||
ac._evtracker.set_timeout(30)
|
ac._evtracker.set_timeout(30)
|
||||||
return ac, dict(configdict)
|
return ac, dict(configdict)
|
||||||
|
|
||||||
def get_online_configuring_account(self, mvbox=False, sentbox=False,
|
def get_online_configuring_account(self, mvbox=False, sentbox=False, move=False,
|
||||||
pre_generated_key=True, config={}):
|
pre_generated_key=True, config={}):
|
||||||
ac, configdict = self.get_online_config(
|
ac, configdict = self.get_online_config(
|
||||||
pre_generated_key=pre_generated_key)
|
pre_generated_key=pre_generated_key)
|
||||||
configdict.update(config)
|
configdict.update(config)
|
||||||
configdict["mvbox_watch"] = str(int(mvbox))
|
configdict["mvbox_watch"] = str(int(mvbox))
|
||||||
configdict["mvbox_move"] = "1"
|
configdict["mvbox_move"] = str(int(move))
|
||||||
|
configdict["sentbox_watch"] = str(int(sentbox))
|
||||||
ac.update_config(configdict)
|
ac.update_config(configdict)
|
||||||
ac.start()
|
ac.start()
|
||||||
return ac
|
return ac
|
||||||
|
|
||||||
def get_one_online_account(self, pre_generated_key=True):
|
def get_one_online_account(self, pre_generated_key=True, mvbox=False, move=False):
|
||||||
ac1 = self.get_online_configuring_account(
|
ac1 = self.get_online_configuring_account(
|
||||||
pre_generated_key=pre_generated_key)
|
pre_generated_key=pre_generated_key, mvbox=mvbox, move=move)
|
||||||
ac1._configtracker.wait_imap_connected()
|
ac1._configtracker.wait_imap_connected()
|
||||||
ac1._configtracker.wait_smtp_connected()
|
ac1._configtracker.wait_smtp_connected()
|
||||||
ac1._configtracker.wait_finish()
|
ac1._configtracker.wait_finish()
|
||||||
return ac1
|
return ac1
|
||||||
|
|
||||||
def get_two_online_accounts(self):
|
def get_two_online_accounts(self, move=False):
|
||||||
ac1 = self.get_online_configuring_account()
|
ac1 = self.get_online_configuring_account(move=True)
|
||||||
ac2 = self.get_online_configuring_account()
|
ac2 = self.get_online_configuring_account()
|
||||||
ac1._configtracker.wait_finish()
|
ac1._configtracker.wait_finish()
|
||||||
ac2._configtracker.wait_finish()
|
ac2._configtracker.wait_finish()
|
||||||
|
|||||||
@@ -497,7 +497,7 @@ class TestOnlineAccount:
|
|||||||
for x in export_files:
|
for x in export_files:
|
||||||
assert x.startswith(dir.strpath)
|
assert x.startswith(dir.strpath)
|
||||||
ac1._evtracker.consume_events()
|
ac1._evtracker.consume_events()
|
||||||
ac1.import_self_keys(dir.strpath)
|
ac2.import_self_keys(dir.strpath)
|
||||||
|
|
||||||
def test_one_account_send_bcc_setting(self, acfactory, lp):
|
def test_one_account_send_bcc_setting(self, acfactory, lp):
|
||||||
ac1 = acfactory.get_online_configuring_account()
|
ac1 = acfactory.get_online_configuring_account()
|
||||||
@@ -607,7 +607,7 @@ class TestOnlineAccount:
|
|||||||
|
|
||||||
def test_mvbox_sentbox_threads(self, acfactory, lp):
|
def test_mvbox_sentbox_threads(self, acfactory, lp):
|
||||||
lp.sec("ac1: start with mvbox thread")
|
lp.sec("ac1: start with mvbox thread")
|
||||||
ac1 = acfactory.get_online_configuring_account(mvbox=True, sentbox=True)
|
ac1 = acfactory.get_online_configuring_account(mvbox=True, move=True, sentbox=True)
|
||||||
|
|
||||||
lp.sec("ac2: start without mvbox/sentbox threads")
|
lp.sec("ac2: start without mvbox/sentbox threads")
|
||||||
ac2 = acfactory.get_online_configuring_account()
|
ac2 = acfactory.get_online_configuring_account()
|
||||||
@@ -627,7 +627,7 @@ class TestOnlineAccount:
|
|||||||
|
|
||||||
def test_move_works(self, acfactory):
|
def test_move_works(self, acfactory):
|
||||||
ac1 = acfactory.get_online_configuring_account()
|
ac1 = acfactory.get_online_configuring_account()
|
||||||
ac2 = acfactory.get_online_configuring_account(mvbox=True)
|
ac2 = acfactory.get_online_configuring_account(mvbox=True, move=True)
|
||||||
wait_configuration_progress(ac2, 1000)
|
wait_configuration_progress(ac2, 1000)
|
||||||
wait_configuration_progress(ac1, 1000)
|
wait_configuration_progress(ac1, 1000)
|
||||||
chat = self.get_chat(ac1, ac2)
|
chat = self.get_chat(ac1, ac2)
|
||||||
@@ -637,7 +637,7 @@ class TestOnlineAccount:
|
|||||||
ac2._evtracker.get_matching("DC_EVENT_IMAP_MESSAGE_MOVED")
|
ac2._evtracker.get_matching("DC_EVENT_IMAP_MESSAGE_MOVED")
|
||||||
|
|
||||||
def test_move_works_on_self_sent(self, acfactory):
|
def test_move_works_on_self_sent(self, acfactory):
|
||||||
ac1 = acfactory.get_online_configuring_account(mvbox=True)
|
ac1 = acfactory.get_online_configuring_account(mvbox=True, move=True)
|
||||||
ac1.set_config("bcc_self", "1")
|
ac1.set_config("bcc_self", "1")
|
||||||
ac2 = acfactory.get_online_configuring_account()
|
ac2 = acfactory.get_online_configuring_account()
|
||||||
wait_configuration_progress(ac2, 1000)
|
wait_configuration_progress(ac2, 1000)
|
||||||
@@ -708,16 +708,16 @@ class TestOnlineAccount:
|
|||||||
assert msg_in.is_forwarded()
|
assert msg_in.is_forwarded()
|
||||||
|
|
||||||
def test_send_self_message_and_empty_folder(self, acfactory, lp):
|
def test_send_self_message_and_empty_folder(self, acfactory, lp):
|
||||||
ac1 = acfactory.get_one_online_account()
|
ac1 = acfactory.get_one_online_account(mvbox=True, move=True)
|
||||||
lp.sec("ac1: create self chat")
|
lp.sec("ac1: create self chat")
|
||||||
chat = ac1.create_chat_by_contact(ac1.get_self_contact())
|
chat = ac1.create_chat_by_contact(ac1.get_self_contact())
|
||||||
chat.send_text("hello")
|
chat.send_text("hello")
|
||||||
ac1._evtracker.get_matching("DC_EVENT_SMTP_MESSAGE_SENT")
|
ac1._evtracker.get_matching("DC_EVENT_SMTP_MESSAGE_SENT")
|
||||||
ac1.empty_server_folders(inbox=True, mvbox=True)
|
ac1.empty_server_folders(inbox=True, mvbox=True)
|
||||||
ev = ac1._evtracker.get_matching("DC_EVENT_IMAP_FOLDER_EMPTIED")
|
ev1 = ac1._evtracker.get_matching("DC_EVENT_IMAP_FOLDER_EMPTIED")
|
||||||
assert ev.data2 == "DeltaChat"
|
ev2 = ac1._evtracker.get_matching("DC_EVENT_IMAP_FOLDER_EMPTIED")
|
||||||
ev = ac1._evtracker.get_matching("DC_EVENT_IMAP_FOLDER_EMPTIED")
|
boxes = sorted([ev1.data2, ev2.data2])
|
||||||
assert ev.data2 == "INBOX"
|
assert boxes == ["DeltaChat", "INBOX"]
|
||||||
|
|
||||||
def test_send_and_receive_message_markseen(self, acfactory, lp):
|
def test_send_and_receive_message_markseen(self, acfactory, lp):
|
||||||
ac1, ac2 = acfactory.get_two_online_accounts()
|
ac1, ac2 = acfactory.get_two_online_accounts()
|
||||||
@@ -789,7 +789,7 @@ class TestOnlineAccount:
|
|||||||
pass # mark_seen_messages() has generated events before it returns
|
pass # mark_seen_messages() has generated events before it returns
|
||||||
|
|
||||||
def test_mdn_asymetric(self, acfactory, lp):
|
def test_mdn_asymetric(self, acfactory, lp):
|
||||||
ac1, ac2 = acfactory.get_two_online_accounts()
|
ac1, ac2 = acfactory.get_two_online_accounts(move=True)
|
||||||
|
|
||||||
lp.sec("ac1: create chat with ac2")
|
lp.sec("ac1: create chat with ac2")
|
||||||
chat = self.get_chat(ac1, ac2, both_created=True)
|
chat = self.get_chat(ac1, ac2, both_created=True)
|
||||||
@@ -1477,8 +1477,8 @@ class TestGroupStressTests:
|
|||||||
class TestOnlineConfigureFails:
|
class TestOnlineConfigureFails:
|
||||||
def test_invalid_password(self, acfactory):
|
def test_invalid_password(self, acfactory):
|
||||||
ac1, configdict = acfactory.get_online_config()
|
ac1, configdict = acfactory.get_online_config()
|
||||||
ac1.configure(addr=configdict["addr"], mail_pw="123")
|
ac1.update_config(dict(addr=configdict["addr"], mail_pw="123"))
|
||||||
ac1.start_threads()
|
ac1.start()
|
||||||
wait_configuration_progress(ac1, 500)
|
wait_configuration_progress(ac1, 500)
|
||||||
ev = ac1._evtracker.get_matching("DC_EVENT_ERROR_NETWORK")
|
ev = ac1._evtracker.get_matching("DC_EVENT_ERROR_NETWORK")
|
||||||
assert "cannot login" in ev.data2.lower()
|
assert "cannot login" in ev.data2.lower()
|
||||||
@@ -1486,8 +1486,8 @@ class TestOnlineConfigureFails:
|
|||||||
|
|
||||||
def test_invalid_user(self, acfactory):
|
def test_invalid_user(self, acfactory):
|
||||||
ac1, configdict = acfactory.get_online_config()
|
ac1, configdict = acfactory.get_online_config()
|
||||||
ac1.configure(addr="x" + configdict["addr"], mail_pw=configdict["mail_pw"])
|
ac1.update_config(dict(addr="x" + configdict["addr"], mail_pw=configdict["mail_pw"]))
|
||||||
ac1.start_threads()
|
ac1.start()
|
||||||
wait_configuration_progress(ac1, 500)
|
wait_configuration_progress(ac1, 500)
|
||||||
ev = ac1._evtracker.get_matching("DC_EVENT_ERROR_NETWORK")
|
ev = ac1._evtracker.get_matching("DC_EVENT_ERROR_NETWORK")
|
||||||
assert "cannot login" in ev.data2.lower()
|
assert "cannot login" in ev.data2.lower()
|
||||||
@@ -1495,8 +1495,8 @@ class TestOnlineConfigureFails:
|
|||||||
|
|
||||||
def test_invalid_domain(self, acfactory):
|
def test_invalid_domain(self, acfactory):
|
||||||
ac1, configdict = acfactory.get_online_config()
|
ac1, configdict = acfactory.get_online_config()
|
||||||
ac1.configure(addr=configdict["addr"] + "x", mail_pw=configdict["mail_pw"])
|
ac1.update_config((dict(addr=configdict["addr"] + "x", mail_pw=configdict["mail_pw"])))
|
||||||
ac1.start_threads()
|
ac1.start()
|
||||||
wait_configuration_progress(ac1, 500)
|
wait_configuration_progress(ac1, 500)
|
||||||
ev = ac1._evtracker.get_matching("DC_EVENT_ERROR_NETWORK")
|
ev = ac1._evtracker.get_matching("DC_EVENT_ERROR_NETWORK")
|
||||||
assert "could not connect" in ev.data2.lower()
|
assert "could not connect" in ev.data2.lower()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from deltachat import capi, cutil, const, set_context_callback, clear_context_callback
|
from deltachat import capi, cutil, const, set_context_callback, clear_context_callback
|
||||||
from deltachat import register_global_plugin
|
from deltachat import register_global_plugin
|
||||||
from deltachat.hookspec import account_hookimpl, global_hookimpl
|
from deltachat.hookspec import global_hookimpl
|
||||||
from deltachat.capi import ffi
|
from deltachat.capi import ffi
|
||||||
from deltachat.capi import lib
|
from deltachat.capi import lib
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user