test: allow a repo-root level "pytest -n6" to succeed.

the fixtures from chatmaild and cmdeploy test plugins were clashing.
This commit is contained in:
holger krekel
2026-08-26 18:00:37 +02:00
parent d25e8a8ee8
commit 6cd943afb5
4 changed files with 16 additions and 16 deletions
+5 -5
View File
@@ -41,22 +41,22 @@ def ipv4_config(make_config):
@pytest.fixture @pytest.fixture
def maildomain(example_config): def example_maildomain(example_config):
return example_config.mail_domain return example_config.mail_domain
@pytest.fixture @pytest.fixture
def testaddr(maildomain): def testaddr(example_maildomain):
return f"user.name@{maildomain}" return f"user.name@{example_maildomain}"
@pytest.fixture @pytest.fixture
def gencreds(maildomain): def example_gencreds(example_maildomain):
count = itertools.count() count = itertools.count()
next(count) next(count)
def gen(domain=None): def gen(domain=None):
domain = domain if domain else maildomain domain = domain if domain else example_maildomain
while 1: while 1:
num = next(count) num = next(count)
alphanumeric = "abcdefghijklmnopqrstuvwxyz1234567890" alphanumeric = "abcdefghijklmnopqrstuvwxyz1234567890"
+2 -2
View File
@@ -30,9 +30,9 @@ def test_read_config_ipv4(ipv4_config):
assert ipv4_config.mail_domain == "[1.3.3.7]" assert ipv4_config.mail_domain == "[1.3.3.7]"
def test_read_config_basic_using_defaults(tmp_path, maildomain): def test_read_config_basic_using_defaults(tmp_path, example_maildomain):
inipath = tmp_path.joinpath("chatmail.ini") inipath = tmp_path.joinpath("chatmail.ini")
inipath.write_text(f"[params]\nmail_domain = {maildomain}") inipath.write_text(f"[params]\nmail_domain = {example_maildomain}")
example_config = read_config(inipath) example_config = read_config(inipath)
assert example_config.max_user_send_per_minute == 60 assert example_config.max_user_send_per_minute == 60
assert example_config.filtermail_smtp_port_incoming == 10081 assert example_config.filtermail_smtp_port_incoming == 10081
@@ -19,8 +19,8 @@ def dictproxy(example_config):
return AuthDictProxy(config=example_config) return AuthDictProxy(config=example_config)
def test_basic(dictproxy, gencreds): def test_basic(dictproxy, example_gencreds):
addr, password = gencreds() addr, password = example_gencreds()
dictproxy.lookup_passdb(addr, password) dictproxy.lookup_passdb(addr, password)
data = dictproxy.lookup_userdb(addr) data = dictproxy.lookup_userdb(addr)
assert data assert data
@@ -107,7 +107,7 @@ def test_handle_dovecot_protocol_user_not_exists(example_config):
assert wfile.getvalue() == b"N\n" assert wfile.getvalue() == b"N\n"
def test_handle_dovecot_protocol_iterate(gencreds, example_config): def test_handle_dovecot_protocol_iterate(example_config):
dictproxy = AuthDictProxy(config=example_config) dictproxy = AuthDictProxy(config=example_config)
dictproxy.lookup_passdb("asdf00000@chat.example.org", "q9mr3faue") dictproxy.lookup_passdb("asdf00000@chat.example.org", "q9mr3faue")
dictproxy.lookup_passdb("asdf11111@chat.example.org", "q9mr3faue") dictproxy.lookup_passdb("asdf11111@chat.example.org", "q9mr3faue")
@@ -174,14 +174,14 @@ def test_concurrent_creation_same_account(dictproxy):
assert len(passwords_seen) == 1 assert len(passwords_seen) == 1
def test_50_concurrent_lookups_different_accounts(gencreds, dictproxy): def test_50_concurrent_lookups_different_accounts(example_gencreds, dictproxy):
num_threads = 50 num_threads = 50
req_per_thread = 5 req_per_thread = 5
results = queue.Queue() results = queue.Queue()
def lookup(): def lookup():
for i in range(req_per_thread): for i in range(req_per_thread):
addr, password = gencreds() addr, password = example_gencreds()
try: try:
dictproxy.lookup_passdb(addr, password) dictproxy.lookup_passdb(addr, password)
except Exception: except Exception:
@@ -205,14 +205,14 @@ def test_50_concurrent_lookups_different_accounts(gencreds, dictproxy):
def test_insufficient_resources_block_creation_not_existing_logins( def test_insufficient_resources_block_creation_not_existing_logins(
dictproxy, gencreds, monkeypatch dictproxy, example_gencreds, monkeypatch
): ):
addr, password = gencreds() addr, password = example_gencreds()
assert dictproxy.lookup_passdb(addr, password) assert dictproxy.lookup_passdb(addr, password)
monkeypatch.setattr( monkeypatch.setattr(
chatmaild.doveauth, "has_sufficient_resources", lambda config: False chatmaild.doveauth, "has_sufficient_resources", lambda config: False
) )
newaddr, newpassword = gencreds() newaddr, newpassword = example_gencreds()
assert not dictproxy.lookup_passdb(newaddr, newpassword) assert not dictproxy.lookup_passdb(newaddr, newpassword)
assert dictproxy.lookup_passdb(addr, password) assert dictproxy.lookup_passdb(addr, password)
@@ -48,7 +48,7 @@ def test_create_dclogin_url_ipv4(ipv4_config):
assert addr in url assert addr in url
def test_print_new_account(capsys, monkeypatch, maildomain, tmpdir, example_config): def test_print_new_account(capsys, monkeypatch, tmpdir, example_config):
monkeypatch.setattr(chatmaild.newemail, "CONFIG_PATH", str(example_config._inipath)) monkeypatch.setattr(chatmaild.newemail, "CONFIG_PATH", str(example_config._inipath))
print_new_account() print_new_account()
out, err = capsys.readouterr() out, err = capsys.readouterr()