Files
@ 3c03c2ea9d2a
Branch filter:
Location: majic-ansible-roles/roles/mail_forwarder/tests/test_smtp_relay_host_port.py - annotation
3c03c2ea9d2a
1.6 KiB
text/x-python
MAR-128: Upgraded tests for bootstrap role:
- Switch to new Molecule configuration.
- Updated set-up playbook to use become: yes.
- Moved some preparatory steps outside of the main playbook (eases
idempotence tests).
- Updated tests to reference the yml inventory file.
- Updated tests to use new fixture (host instead of individual ones).
- Fixed some linting issues.
- Switch to new Molecule configuration.
- Updated set-up playbook to use become: yes.
- Moved some preparatory steps outside of the main playbook (eases
idempotence tests).
- Updated tests to reference the yml inventory file.
- Updated tests to use new fixture (host instead of individual ones).
- Fixed some linting issues.
23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc 23a9ea4219dc | import re
import time
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
'.molecule/ansible_inventory').get_hosts('parameters-no-incoming')
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-no-incoming" in config_lines
assert "mydestination = parameters-no-incoming, parameters-no-incoming, localhost.localdomain, localhost" in config_lines
assert "relayhost = mail-server" 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=verify" in config_lines
assert "smtp_tls_CAfile=/etc/ssl/certs/smtp_relay_truststore.pem" in config_lines
assert "smtp_host_lookup = dns, native" in config_lines
def test_relay_mail_sending(Command, File, Sudo):
"""
Tests if mails are sent correctly via relay if relay has 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 used to verify the mail was sent over relay on default port.
pattern = r"%s: to=<root@domain1>, relay=mail-server\[[^]]*\]:25.*status=sent" % message_id
assert re.search(pattern, mail_log.content) is not None
|