fix various test setups

This commit is contained in:
holger krekel
2023-12-09 16:54:05 +01:00
parent fe99b97386
commit 98f92cd9b6
3 changed files with 8 additions and 44 deletions

View File

@@ -1,5 +1,4 @@
from chatmaild.config import read_config from chatmaild.config import read_config
import chatmaild.config
def test_read_config_basic(make_config): def test_read_config_basic(make_config):

View File

@@ -5,8 +5,6 @@ from chatmaild.filtermail import (
check_mdn, check_mdn,
) )
from chatmaild.config import read_config
import pytest import pytest
@@ -17,8 +15,8 @@ def maildomain():
@pytest.fixture @pytest.fixture
def handler(create_ini, maildomain): def handler(make_config, maildomain):
config = read_config(create_ini(), maildomain) config = make_config(maildomain)
return BeforeQueueHandler(config) return BeforeQueueHandler(config)
@@ -101,9 +99,8 @@ def test_send_rate_limiter():
def test_excempt_privacy(maildata, gencreds, handler): def test_excempt_privacy(maildata, gencreds, handler):
from_addr = gencreds()[0] from_addr = gencreds()[0]
to_addr = "privacy@testrun.org" to_addr = "privacy@testrun.org"
false_to = "privacy@tstrn.org" handler.config.passthrough_recipients = [to_addr]
false_to2 = "prvcy@testrun.org" false_to = "privacy@something.org"
assert to_addr in handler.config.passthrough_recipients
msg = maildata("plain.eml", from_addr, to_addr) msg = maildata("plain.eml", from_addr, to_addr)
@@ -117,7 +114,7 @@ def test_excempt_privacy(maildata, gencreds, handler):
class env2: class env2:
mail_from = from_addr mail_from = from_addr
rcpt_tos = [to_addr, false_to, false_to2] rcpt_tos = [to_addr, false_to]
content = msg.as_bytes() content = msg.as_bytes()
assert "500" in handler.check_DATA(envelope=env2) assert "500" in handler.check_DATA(envelope=env2)

View File

@@ -5,44 +5,12 @@ from deploy_chatmail.www import build_webpages
from chatmaild.config import read_config from chatmaild.config import read_config
def make_config(create_ini, domain="example.org"):
inipath = create_ini(
textwrap.dedent(
f"""\
[params]
max_user_send_per_minute = 60
filtermail_smtp_port = 10080
postfix_reinject_port = 10025
passthrough_recipients =
[privacy:{domain}] def test_build_webpages(tmp_path, make_config):
domain = example.org
privacy_postal =
address-line1
address-line2
privacy_mail = privacy@{domain}
privacy_pdo =
address-line3
"""
)
)
return read_config(inipath, domain)
def test_build_webpages(tmp_path, create_ini):
pkgroot = importlib.resources.files("deploy_chatmail") pkgroot = importlib.resources.files("deploy_chatmail")
src_dir = pkgroot.joinpath("../../../www/src").resolve() src_dir = pkgroot.joinpath("../../../www/src").resolve()
assert src_dir.exists(), src_dir assert src_dir.exists(), src_dir
config = make_config(create_ini, "example.org") config = make_config("chat.example.org")
build_dir = tmp_path.joinpath("build") build_dir = tmp_path.joinpath("build")
build_webpages(src_dir, build_dir, config) build_webpages(src_dir, build_dir, config)
assert len([x for x in build_dir.iterdir() if x.suffix == '.html']) >= 3
def test_get_settings(tmp_path, create_ini):
config = make_config(create_ini, "example.org")
assert config.privacy_postal == "address-line1\naddress-line2"
assert config.privacy_mail == "privacy@example.org"
assert config.privacy_pdo == "address-line3"
assert config.mailname == "example.org"