Changeset - 137b611e9d5e
[Not reviewed]
0 2 0
Branko Majic (branko) - 6 years ago 2018-08-02 11:02:55
branko@majic.rs
MAR-132: Updated mail_servers tests to avoid hard-coding the hostname.
2 files changed with 44 insertions and 30 deletions:
0 comments (0 inline, 0 general)
roles/mail_server/molecule/default/tests/test_mandatory.py
Show inline comments
 
@@ -12,35 +12,37 @@ def test_smtp_tls_files(host):
 
    Tests if SMTP TLS private key has been deployed correctly.
 
    """
 

	
 
    hostname = host.run('hostname').stdout
 

	
 
    with host.sudo():
 

	
 
        tls_file = host.file('/etc/ssl/private/parameters-mandatory-jessie64_smtp.key')
 
        tls_file = host.file('/etc/ssl/private/%s_smtp.key' % hostname)
 
        assert tls_file.is_file
 
        assert tls_file.user == 'root'
 
        assert tls_file.group == 'root'
 
        assert tls_file.mode == 0o640
 
        assert tls_file.content == open("tests/data/x509/parameters-mandatory-jessie64_smtp.key", "r").read().rstrip()
 
        assert tls_file.content == open("tests/data/x509/%s_smtp.key" % hostname, "r").read().rstrip()
 

	
 
        tls_file = host.file('/etc/ssl/certs/parameters-mandatory-jessie64_smtp.pem')
 
        tls_file = host.file('/etc/ssl/certs/%s_smtp.pem' % hostname)
 
        assert tls_file.is_file
 
        assert tls_file.user == 'root'
 
        assert tls_file.group == 'root'
 
        assert tls_file.mode == 0o644
 
        assert tls_file.content == open("tests/data/x509/parameters-mandatory-jessie64_smtp.pem", "r").read().rstrip()
 
        assert tls_file.content == open("tests/data/x509/%s_smtp.pem" % hostname, "r").read().rstrip()
 

	
 
        tls_file = host.file('/etc/ssl/private/parameters-mandatory-jessie64_imap.key')
 
        tls_file = host.file('/etc/ssl/private/%s_imap.key' % hostname)
 
        assert tls_file.is_file
 
        assert tls_file.user == 'root'
 
        assert tls_file.group == 'root'
 
        assert tls_file.mode == 0o640
 
        assert tls_file.content == open("tests/data/x509/parameters-mandatory-jessie64_imap.key", "r").read().rstrip()
 
        assert tls_file.content == open("tests/data/x509/%s_imap.key" % hostname, "r").read().rstrip()
 

	
 
        tls_file = host.file('/etc/ssl/certs/parameters-mandatory-jessie64_imap.pem')
 
        tls_file = host.file('/etc/ssl/certs/%s_imap.pem' % hostname)
 
        assert tls_file.is_file
 
        assert tls_file.user == 'root'
 
        assert tls_file.group == 'root'
 
        assert tls_file.mode == 0o644
 
        assert tls_file.content == open("tests/data/x509/parameters-mandatory-jessie64_imap.pem", "r").read().rstrip()
 
        assert tls_file.content == open("tests/data/x509/%s_imap.pem" % hostname, "r").read().rstrip()
 

	
 

	
 
def test_certificate_validity_check_configuration(host):
 
@@ -49,19 +51,21 @@ def test_certificate_validity_check_configuration(host):
 
    correctly.
 
    """
 

	
 
    config = host.file('/etc/check_certificate/parameters-mandatory-jessie64_smtp.conf')
 
    hostname = host.run('hostname').stdout
 

	
 
    config = host.file('/etc/check_certificate/%s_smtp.conf' % hostname)
 
    assert config.is_file
 
    assert config.user == 'root'
 
    assert config.group == 'root'
 
    assert config.mode == 0o644
 
    assert config.content == "/etc/ssl/certs/parameters-mandatory-jessie64_smtp.pem"
 
    assert config.content == "/etc/ssl/certs/%s_smtp.pem" % hostname
 

	
 
    config = host.file('/etc/check_certificate/parameters-mandatory-jessie64_imap.conf')
 
    config = host.file('/etc/check_certificate/%s_imap.conf' % hostname)
 
    assert config.is_file
 
    assert config.user == 'root'
 
    assert config.group == 'root'
 
    assert config.mode == 0o644
 
    assert config.content == "/etc/ssl/certs/parameters-mandatory-jessie64_imap.pem"
 
    assert config.content == "/etc/ssl/certs/%s_imap.pem" % hostname
 

	
 

	
 
def test_mailname_file_content(host):
 
@@ -70,8 +74,9 @@ def test_mailname_file_content(host):
 
    """
 

	
 
    mailname = host.file('/etc/mailname')
 
    hostname = host.run('hostname').stdout
 

	
 
    assert mailname.content == "parameters-mandatory-jessie64"
 
    assert mailname.content == hostname
 

	
 

	
 
def test_postfix_main_cf_file_content(host):
 
@@ -79,14 +84,16 @@ def test_postfix_main_cf_file_content(host):
 
    Tests if the Postfix main configuration file content is correct.
 
    """
 

	
 
    hostname = host.run('hostname').stdout
 

	
 
    config = host.file('/etc/postfix/main.cf')
 
    config_lines = config.content.split("\n")
 

	
 
    assert "myhostname = parameters-mandatory-jessie64" in config_lines
 
    assert "mydestination = parameters-mandatory-jessie64, parameters-mandatory-jessie64, localhost.localdomain, localhost" in config_lines
 
    assert "myhostname = %s" % hostname in config_lines
 
    assert "mydestination = %s, %s, localhost.localdomain, localhost" % (hostname, hostname) in config_lines
 
    assert "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128" in config_lines
 
    assert "smtpd_tls_cert_file = /etc/ssl/certs/parameters-mandatory-jessie64_smtp.pem" in config_lines
 
    assert "smtpd_tls_key_file = /etc/ssl/private/parameters-mandatory-jessie64_smtp.key" in config_lines
 
    assert "smtpd_tls_cert_file = /etc/ssl/certs/%s_smtp.pem" % hostname in config_lines
 
    assert "smtpd_tls_key_file = /etc/ssl/private/%s_smtp.key" % hostname in config_lines
 
    assert "reject_rbl" not in config_lines
 
    assert "smtp_host_lookup = dns, native" in config_lines
 

	
roles/mail_server/molecule/default/tests/test_optional.py
Show inline comments
 
@@ -13,30 +13,32 @@ def test_smtp_tls_files(host):
 
    Tests if SMTP TLS private key has been deployed correctly.
 
    """
 

	
 
    hostname = host.run('hostname').stdout
 

	
 
    with host.sudo():
 

	
 
        tls_file = host.file('/etc/ssl/private/parameters-optional-jessie64_smtp.key')
 
        tls_file = host.file('/etc/ssl/private/%s_smtp.key' % hostname)
 
        assert tls_file.is_file
 
        assert tls_file.user == 'root'
 
        assert tls_file.group == 'root'
 
        assert tls_file.mode == 0o640
 
        assert tls_file.content == open("tests/data/x509/parameters-optional_smtp.key.pem", "r").read().rstrip()
 

	
 
        tls_file = host.file('/etc/ssl/certs/parameters-optional-jessie64_smtp.pem')
 
        tls_file = host.file('/etc/ssl/certs/%s_smtp.pem' % hostname)
 
        assert tls_file.is_file
 
        assert tls_file.user == 'root'
 
        assert tls_file.group == 'root'
 
        assert tls_file.mode == 0o644
 
        assert tls_file.content == open("tests/data/x509/parameters-optional_smtp.cert.pem", "r").read().rstrip()
 

	
 
        tls_file = host.file('/etc/ssl/private/parameters-optional-jessie64_imap.key')
 
        tls_file = host.file('/etc/ssl/private/%s_imap.key' % hostname)
 
        assert tls_file.is_file
 
        assert tls_file.user == 'root'
 
        assert tls_file.group == 'root'
 
        assert tls_file.mode == 0o640
 
        assert tls_file.content == open("tests/data/x509/parameters-optional_imap.key.pem", "r").read().rstrip()
 

	
 
        tls_file = host.file('/etc/ssl/certs/parameters-optional-jessie64_imap.pem')
 
        tls_file = host.file('/etc/ssl/certs/%s_imap.pem' % hostname)
 
        assert tls_file.is_file
 
        assert tls_file.user == 'root'
 
        assert tls_file.group == 'root'
 
@@ -50,19 +52,21 @@ def test_certificate_validity_check_configuration(host):
 
    correctly.
 
    """
 

	
 
    config = host.file('/etc/check_certificate/parameters-optional-jessie64_smtp.conf')
 
    hostname = host.run('hostname').stdout
 

	
 
    config = host.file('/etc/check_certificate/%s_smtp.conf' % hostname)
 
    assert config.is_file
 
    assert config.user == 'root'
 
    assert config.group == 'root'
 
    assert config.mode == 0o644
 
    assert config.content == "/etc/ssl/certs/parameters-optional-jessie64_smtp.pem"
 
    assert config.content == "/etc/ssl/certs/%s_smtp.pem" % hostname
 

	
 
    config = host.file('/etc/check_certificate/parameters-optional-jessie64_imap.conf')
 
    config = host.file('/etc/check_certificate/%s_imap.conf' % hostname)
 
    assert config.is_file
 
    assert config.user == 'root'
 
    assert config.group == 'root'
 
    assert config.mode == 0o644
 
    assert config.content == "/etc/ssl/certs/parameters-optional-jessie64_imap.pem"
 
    assert config.content == "/etc/ssl/certs/%s_imap.pem" % hostname
 

	
 

	
 
def test_mailname_file_content(host):
 
@@ -71,8 +75,9 @@ def test_mailname_file_content(host):
 
    """
 

	
 
    mailname = host.file('/etc/mailname')
 
    hostname = host.run('hostname').stdout
 

	
 
    assert mailname.content == "parameters-optional-jessie64"
 
    assert mailname.content == hostname
 

	
 

	
 
def test_postfix_main_cf_file_content(host):
 
@@ -80,14 +85,16 @@ def test_postfix_main_cf_file_content(host):
 
    Tests if the Postfix main configuration file content is correct.
 
    """
 

	
 
    hostname = host.run('hostname').stdout
 

	
 
    config = host.file('/etc/postfix/main.cf')
 
    config_lines = config.content.split("\n")
 

	
 
    assert "myhostname = parameters-optional-jessie64" in config_lines
 
    assert "mydestination = parameters-optional-jessie64, parameters-optional-jessie64, localhost.localdomain, localhost" in config_lines
 
    assert "myhostname = %s" % hostname in config_lines
 
    assert "mydestination = %s, %s, localhost.localdomain, localhost" % (hostname, hostname) in config_lines
 
    assert "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.31.127.20" in config_lines
 
    assert "smtpd_tls_cert_file = /etc/ssl/certs/parameters-optional-jessie64_smtp.pem" in config_lines
 
    assert "smtpd_tls_key_file = /etc/ssl/private/parameters-optional-jessie64_smtp.key" in config_lines
 
    assert "smtpd_tls_cert_file = /etc/ssl/certs/%s_smtp.pem" % hostname in config_lines
 
    assert "smtpd_tls_key_file = /etc/ssl/private/%s_smtp.key" % hostname in config_lines
 
    assert "  reject_rbl bl.spamcop.net" in config_lines
 
    assert "  reject_rbl zen.spamhaus.org" in config_lines
 
    assert "smtp_host_lookup = dns, native" in config_lines
0 comments (0 inline, 0 general)