Source code for chapps.tests.test_util.conftest

"""pytest config for chapps.util"""

import pytest
import logging
import time

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)


[docs]@pytest.fixture def mock_config_dict(): return dict( intval="99", floatval="9.9", stringval="ninety-nine", boolean="True" )
[docs]@pytest.fixture def postfix_sasl_username(): users = [ "ccullen@easydns.com", "ted@easydns.com", "some_dummy.quota_user@theirowndomain.com", ] return users[0]
[docs]@pytest.fixture def postfix_policy_request_payload(): return _postfix_policy_request_payload()
def _postfix_policy_request_payload(): def _pprp( email="ccullen@easydns.com", recipients=None, instance=None, **kwargs ): namespace = dict( sender=f"{email}", sasl_username=email, ccert_subject=email, helo_name="mail.chapps.io", queue_id="8045F2AB23", recipient_count="0", client_address="10.10.10.10", client_name="mail.chapps.io", reverse_client_name="mail.chapps.io", size="12345", ) namespace.update(kwargs) if "recipient" not in namespace: recipients = ( recipients or namespace.get("recipients", None) or ["bar@foo.tld"] ) namespace["recipient"] = ",".join(recipients) if "instance" not in namespace: namespace["instance"] = instance or "a483.61706bf9.17663.0" payload = """request=smtpd_access_policy protocol_state=RCPT protocol_name=SMTP helo_name={helo_name} queue_id={queue_id} sender={sender} recipient={recipient} recipient_count={recipient_count} client_address={client_address} client_name={client_name} reverse_client_name={reverse_client_name} instance={instance} sasl_method=plain sasl_username={sasl_username} sasl_sender= size=12345 ccert_subject={ccert_subject} ccert_issuer=Caleb+20Cullen ccert_fingerprint=DE:AD:BE:EF:FE:ED:AD:DE:D0:A7:52:F3:C1:DA:6E:04 encryption_protocol=TLSv1/SSLv3 encryption_cipher=DHE-RSA-AES256-SHA encryption_keysize=256 etrn_domain= stress= ccert_pubkey_fingerprint=68:B3:29:DA:98:93:E3:40:99:C7:D8:AD:5C:B9:C9:40 client_port=1234 policy_context=submission server_address=10.3.2.1 server_port=54321 """.format( **namespace ) return payload.encode("utf-8") return _pprp
[docs]@pytest.fixture def postfix_policy_request_message(postfix_policy_request_payload): return _postfix_policy_request_message(postfix_policy_request_payload)
def _postfix_policy_request_message(postfix_policy_request_payload=None): pprp = postfix_policy_request_payload or _postfix_policy_request_payload() def _ppr(email=None, recipients=None, instance=None, **kwargs): return ( pprp(email, recipients, instance, **kwargs) .decode("utf-8") .split("\n") ) return _ppr