Changeset - c43415e60f2f
[Not reviewed]
0 1 0
Branko Majic (branko) - 8 years ago 2017-08-21 13:04:42
branko@majic.rs
MAR-123: Updated ldap_server test_user_supplied_entries to be robust to ordering changes.
1 file changed with 4 insertions and 4 deletions:
0 comments (0 inline, 0 general)
roles/ldap_server/tests/test_optional.py
Show inline comments
 
@@ -93,113 +93,113 @@ def test_tls_configuration(Command):
 

	
 
    old_tls_versions_disabled = Command("echo 'Q' | openssl s_client -no_tls1_2 -connect parameters-optional:636")
 
    assert old_tls_versions_disabled.rc == 0
 
    assert "CONNECTED" in old_tls_versions_disabled.stdout
 

	
 
    cipher = Command("echo 'Q' | openssl s_client -cipher ECDHE-RSA-AES128-SHA256 -connect parameters-optional:636")
 
    assert cipher.rc == 0
 
    assert "ECDHE-RSA-AES128-SHA256" in cipher.stdout
 

	
 
    cipher = Command("echo 'Q' | openssl s_client -tls1_1 -cipher ECDHE-RSA-AES128-SHA -connect parameters-optional:636")
 
    assert cipher.rc == 0
 
    assert "ECDHE-RSA-AES128-SHA" in cipher.stdout
 

	
 

	
 
def test_ssf_configuration(Command, Sudo):
 
    """
 
    Tests if the SSF olcSecurity configuration has been set-up correctly.
 
    """
 

	
 
    with Sudo():
 
        ssf = Command('ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -b cn=config olcSecurity')
 

	
 
        assert ssf.rc == 0
 
        assert "olcSecurity: ssf=0" in ssf.stdout
 

	
 

	
 
def test_permissions(Command, Sudo):
 
    """
 
    Tests if LDAP directory permissions have been set-up correctly.
 
    """
 

	
 
    with Sudo():
 
        permissions = Command("ldapsearch -o ldif-wrap=no -H ldapi:/// -Q -LLL -Y EXTERNAL -b 'olcDatabase={1}mdb,cn=config' -s base olcAccess olcAccess")
 

	
 
        expected_permissions = "olcAccess: {0}to * " \
 
                               "by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage " \
 
                               "by self write by * read by dn=\"cn=admin,dc=local\" write " \
 
                               "by * none"
 

	
 
        assert permissions.rc == 0
 
        assert expected_permissions in permissions.stdout
 

	
 

	
 
def test_services_login_entries(Command, Sudo):
 
    """
 
    Tests if the service/consumer login entries have been set correctly.
 
    """
 

	
 
    with Sudo():
 

	
 
        entries = Command("ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s one -b ou=services,dc=local '(objectClass=simpleSecurityObject)'")
 

	
 
        assert entries.rc == 0
 
        assert entries.stdout == """dn: cn=consumer1,ou=services,dc=local
 
objectClass: applicationProcess
 
objectClass: simpleSecurityObject
 
userPassword:: Y29uc3VtZXIxcGFzc3dvcmQ=
 
cn: consumer1
 

	
 
dn: cn=consumer2,ou=services,dc=local
 
objectClass: applicationProcess
 
objectClass: simpleSecurityObject
 
userPassword:: Y29uc3VtZXIycGFzc3dvcmQ=
 
cn: consumer2"""
 

	
 

	
 
def test_group_entries(Command, Sudo):
 
    """
 
    Tests that no group entries have been created out-of-the-box.
 
    """
 

	
 
    with Sudo():
 

	
 
        entries = Command("ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s one -b ou=groups,dc=local '(objectClass=groupOfUniqueNames)'")
 

	
 
        assert entries.rc == 0
 
        assert entries.stdout == """dn: cn=group1,ou=groups,dc=local
 
objectClass: groupOfUniqueNames
 
uniqueMember: cn=NONE
 
cn: group1
 

	
 
dn: cn=group2,ou=groups,dc=local
 
objectClass: groupOfUniqueNames
 
uniqueMember: cn=NONE
 
cn: group2"""
 

	
 

	
 
def test_user_supplied_entries(Command, Sudo):
 
    """
 
    Tests if user-supplied entries are created correctly.
 
    """
 

	
 
    with Sudo():
 

	
 
        john_doe = Command("ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s base -b uid=john,dc=local")
 
        assert john_doe.rc == 0
 
        assert john_doe.stdout == """dn: uid=john,dc=local
 
        assert sorted(john_doe.stdout.split("\n")) == sorted("""dn: uid=john,dc=local
 
objectClass: inetOrgPerson
 
objectClass: simpleSecurityObject
 
userPassword:: am9obnBhc3N3b3Jk
 
cn: John Doe
 
sn: Doe
 
uid: john"""
 
uid: john""".split("\n"))
 

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