diff --git a/roles/mail_server/molecule/default/tests/test_default.py b/roles/mail_server/molecule/default/tests/test_default.py index eae90d8f1bdefe6ada514d620d544c5667eaaf75..c4f7547a7693bb517f656fd99e0ad8be1318036c 100644 --- a/roles/mail_server/molecule/default/tests/test_default.py +++ b/roles/mail_server/molecule/default/tests/test_default.py @@ -447,3 +447,38 @@ def test_imap_and_smtp_tls_files(host): assert tls_file.group == 'root' assert tls_file.mode == 0o644 assert tls_file.content_string == open("tests/data/x509/server/%s_imap.cert.pem" % hostname, "r").read().rstrip() + + +def test_imap_tls_connectivity(host): + """ + Tests connectivity over STARTTLS/TLS towards IMAP server. + """ + + hostname = host.run('hostname').stdout.strip() + fqdn = hostname[:hostname.rfind("-")] + + starttls = host.run('echo "a0001 LOGOUT" | openssl s_client -quiet -starttls imap -connect %s:143', fqdn) + assert starttls.rc == 0 + assert '* BYE Logging out' in starttls.stdout + + tls = host.run('echo "a0001 LOGOUT" | openssl s_client -quiet -connect %s:993', fqdn) + assert tls.rc == 0 + assert '* BYE Logging out' in starttls.stdout + + +def test_smtp_tls_connectivity(host): + """ + Tests connectivity over default/submission port towards SMTP + server. + """ + + hostname = host.run('hostname').stdout.strip() + fqdn = hostname[:hostname.rfind("-")] + + starttls = host.run('echo "QUIT" | openssl s_client -quiet -starttls smtp -connect %s:25', fqdn) + assert starttls.rc == 0 + assert '221 2.0.0 Bye' in starttls.stdout + + tls = host.run('echo "QUIT" | openssl s_client -quiet -starttls smtp -connect %s:587', fqdn) + assert tls.rc == 0 + assert '221 2.0.0 Bye' in starttls.stdout