Changeset - bc7eef6554a9
[Not reviewed]
0 4 0
Branko Majic (branko) - 4 years ago 2020-01-06 21:53:55
branko@majic.rs
MAR-148: Fixed the tests for ldap_server role (newline fixes, and fix for Testinfra's get_hosts call).
4 files changed with 30 insertions and 18 deletions:
0 comments (0 inline, 0 general)
roles/ldap_server/molecule/default/tests/test_client.py
Show inline comments
 
@@ -10,7 +10,7 @@ testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
 

	
 

	
 
@pytest.mark.parametrize('server', testinfra.utils.ansible_runner.AnsibleRunner(
 
    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts(['parameters-mandatory', 'parameters-optional'])
 
    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-*')
 
)
 
def test_connectivity(host, server):
 

	
roles/ldap_server/molecule/default/tests/test_default.py
Show inline comments
 
@@ -122,7 +122,9 @@ def test_basic_directory_structure(host):
 
            assert entry.rc == 0
 
            assert entry.stdout == """dn: ou=%(ou)s,dc=local
 
objectClass: organizationalUnit
 
ou: %(ou)s""" % {'ou': ou}
 
ou: %(ou)s
 

	
 
""" % {'ou': ou}
 

	
 

	
 
def test_mail_service_entries(host):
 
@@ -136,19 +138,25 @@ def test_mail_service_entries(host):
 
        assert entry.rc == 0
 
        assert entry.stdout == """dn: ou=mail,ou=services,dc=local
 
objectClass: organizationalUnit
 
ou: mail"""
 
ou: mail
 

	
 
"""
 

	
 
        entry = host.run('ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s base -b ou=domains,ou=mail,ou=services,dc=local')
 
        assert entry.rc == 0
 
        assert entry.stdout == """dn: ou=domains,ou=mail,ou=services,dc=local
 
objectClass: organizationalUnit
 
ou: domains"""
 
ou: domains
 

	
 
"""
 

	
 
        entry = host.run('ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s base -b ou=aliases,ou=mail,ou=services,dc=local')
 
        assert entry.rc == 0
 
        assert entry.stdout == """dn: ou=aliases,ou=mail,ou=services,dc=local
 
objectClass: organizationalUnit
 
ou: aliases"""
 
ou: aliases
 

	
 
"""
 

	
 

	
 
def test_firewall_configuration_file(host):
 
@@ -174,7 +182,7 @@ def test_admin_password(host):
 
    login = host.run("ldapwhoami -H ldapi:/// -x -w adminpassword -D cn=admin,dc=local")
 

	
 
    assert login.rc == 0
 
    assert login.stdout == "dn:cn=admin,dc=local"
 
    assert login.stdout == "dn:cn=admin,dc=local\n"
 

	
 

	
 
def test_temporary_admin_password_file_not_present(host):
roles/ldap_server/molecule/default/tests/test_mandatory.py
Show inline comments
 
@@ -49,7 +49,7 @@ def test_ldap_tls_private_key_file(host):
 
        assert key.user == 'root'
 
        assert key.group == 'openldap'
 
        assert key.mode == 0o640
 
        assert key.content == open('tests/data/x509/%s_ldap.key' % inventory_hostname).read().rstrip()
 
        assert key.content == open('tests/data/x509/%s_ldap.key' % inventory_hostname).read()
 

	
 

	
 
def test_ldap_tls_certificate_file(host):
 
@@ -67,7 +67,7 @@ def test_ldap_tls_certificate_file(host):
 
        assert cert.user == 'root'
 
        assert cert.group == 'root'
 
        assert cert.mode == 0o644
 
        assert cert.content == open('tests/data/x509/%s_ldap.pem' % inventory_hostname).read().rstrip()
 
        assert cert.content == open('tests/data/x509/%s_ldap.pem' % inventory_hostname).read()
 

	
 

	
 
def test_certificate_validity_check_configuration(host):
 
@@ -94,11 +94,11 @@ def test_tls_configuration(host):
 

	
 
    starttls = host.run('ldapwhoami -Z -x -H ldap://parameters-mandatory.local/')
 
    assert starttls.rc == 0
 
    assert starttls.stdout == 'anonymous'
 
    assert starttls.stdout == 'anonymous\n'
 

	
 
    tls = host.run('ldapwhoami -x -H ldaps://parameters-mandatory.local/')
 
    assert tls.rc == 0
 
    assert tls.stdout == 'anonymous'
 
    assert tls.stdout == 'anonymous\n'
 

	
 
    old_tls_versions_disabled = host.run("echo 'Q' | openssl s_client -no_tls1_2 -connect parameters-mandatory.local:636")
 
    assert old_tls_versions_disabled.rc != 0
roles/ldap_server/molecule/default/tests/test_optional.py
Show inline comments
 
@@ -49,7 +49,7 @@ def test_ldap_tls_private_key_file(host):
 
        assert key.user == 'root'
 
        assert key.group == 'openldap'
 
        assert key.mode == 0o640
 
        assert key.content == open('tests/data/x509/parameters-optional.key.pem').read().rstrip()
 
        assert key.content == open('tests/data/x509/parameters-optional.key.pem').read()
 

	
 

	
 
def test_ldap_tls_certificate_file(host):
 
@@ -67,7 +67,7 @@ def test_ldap_tls_certificate_file(host):
 
        assert cert.user == 'root'
 
        assert cert.group == 'root'
 
        assert cert.mode == 0o644
 
        assert cert.content == open('tests/data/x509/parameters-optional.cert.pem').read().rstrip()
 
        assert cert.content == open('tests/data/x509/parameters-optional.cert.pem').read()
 

	
 

	
 
def test_certificate_validity_check_configuration(host):
 
@@ -94,11 +94,11 @@ def test_tls_configuration(host):
 

	
 
    ldap_starttls = host.run('ldapwhoami -Z -x -H ldap://parameters-optional/')
 
    assert ldap_starttls.rc == 0
 
    assert ldap_starttls.stdout == 'anonymous'
 
    assert ldap_starttls.stdout == 'anonymous\n'
 

	
 
    ldap_tls = host.run('ldapwhoami -x -H ldaps://parameters-optional/')
 
    assert ldap_tls.rc == 0
 
    assert ldap_tls.stdout == 'anonymous'
 
    assert ldap_tls.stdout == 'anonymous\n'
 

	
 
    old_tls_versions_disabled = host.run("echo 'Q' | openssl s_client -no_tls1_2 -connect parameters-optional:636")
 
    assert old_tls_versions_disabled.rc == 0
 
@@ -162,7 +162,9 @@ dn: cn=consumer2,ou=services,dc=local
 
objectClass: applicationProcess
 
objectClass: simpleSecurityObject
 
userPassword:: Y29uc3VtZXIycGFzc3dvcmQ=
 
cn: consumer2"""
 
cn: consumer2
 

	
 
"""
 

	
 

	
 
def test_group_entries(host):
 
@@ -183,7 +185,9 @@ cn: group1
 
dn: cn=group2,ou=groups,dc=local
 
objectClass: groupOfUniqueNames
 
uniqueMember: cn=NONE
 
cn: group2"""
 
cn: group2
 

	
 
"""
 

	
 

	
 
def test_user_supplied_entries(host):
 
@@ -195,7 +199,7 @@ def test_user_supplied_entries(host):
 

	
 
        john_doe = host.run("ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s base -b uid=john,dc=local")
 
        assert john_doe.rc == 0
 
        assert sorted(john_doe.stdout.split("\n")) == sorted("""dn: uid=john,dc=local
 
        assert sorted(john_doe.stdout.strip().split("\n")) == sorted("""dn: uid=john,dc=local
 
objectClass: inetOrgPerson
 
objectClass: simpleSecurityObject
 
userPassword:: am9obnBhc3N3b3Jk
 
@@ -205,7 +209,7 @@ uid: john""".split("\n"))
 

	
 
        jane_doe = host.run("ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s base -b uid=jane,dc=local")
 
        assert jane_doe.rc == 0
 
        assert sorted(jane_doe.stdout.split("\n")) == sorted("""dn: uid=jane,dc=local
 
        assert sorted(jane_doe.stdout.strip().split("\n")) == sorted("""dn: uid=jane,dc=local
 
objectClass: inetOrgPerson
 
objectClass: simpleSecurityObject
 
userPassword:: amFuZXBhc3N3b3Jk
0 comments (0 inline, 0 general)