Files
@ 701044d4cbba
Branch filter:
Location: majic-ansible-roles/roles/mail_forwarder/tests/test_mandatory.py - annotation
701044d4cbba
2.0 KiB
text/x-python
MAR-31: Added scaffolding for testing xmpp_server role:
- Fixed wrong default for xmpp_domains parameter (should be a list).
- Added Molecule configuration file with LDAP server, client, and two XMPP
server instances.
- Added test playbook that sets-up all servers.
- Fixed mode syntax issues (use lead zero).
- Added data required for testing.
- Added dummy file with tests.
- Fixed wrong default for xmpp_domains parameter (should be a list).
- Added Molecule configuration file with LDAP server, client, and two XMPP
server instances.
- Added test playbook that sets-up all servers.
- Fixed mode syntax issues (use lead zero).
- Added data required for testing.
- Added dummy file with tests.
f774e938a4ed 01f4b619cfa6 f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed 01f4b619cfa6 01f4b619cfa6 01f4b619cfa6 f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed f774e938a4ed | import re
import time
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
'.molecule/ansible_inventory').get_hosts('parameters-mandatory')
def test_smtp_relay_truststore_file(File):
"""
Tests if SMTP relay truststore has correct content.
"""
truststore = File('/etc/ssl/certs/smtp_relay_truststore.pem')
assert truststore.content == open("tests/data/x509/truststore.pem", "r").read().rstrip()
def test_smtp_mailname(File):
"""
Tests if SMTP mailname configuration file has correct content.
"""
mailname = File('/etc/mailname')
assert mailname.content == "parameters-mandatory"
def test_postfix_main_cf_file_content(File):
"""
Tests if the Postfix main configuration file content is correct.
"""
config = File('/etc/postfix/main.cf')
config_lines = config.content.split("\n")
assert "myhostname = parameters-mandatory" in config_lines
assert "mydestination = parameters-mandatory, parameters-mandatory, localhost.localdomain, localhost" in config_lines
assert "relayhost = " in config_lines
assert "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128" in config_lines
assert "smtp_tls_security_level" not in config.content
assert "smtp_tls_CAfile" not in config.content
assert "smtp_host_lookup = dns, native" in config_lines
def test_direct_mail_sending(Command, File, Sudo):
"""
Tests if mails are sent correctly directly without relay if relay has not
been configured.
"""
send = Command('swaks --suppress-data --to root@domain1 --server localhost')
assert send.rc == 0
message_id = re.search('Ok: queued as (.*)', send.stdout).group(1)
# Wait for a little while for message to be processed.
time.sleep(5)
with Sudo():
mail_log = File('/var/log/mail.log')
pattern = "%s: to=<root@domain1>, relay=domain1.*status=sent" % message_id
assert re.search(pattern, mail_log.content) is not None
|