|
@@ -2,6 +2,8 @@ import os
|
|
|
|
|
|
import testinfra.utils.ansible_runner
|
|
|
|
|
|
from helpers import parse_ldif
|
|
|
|
|
|
|
|
|
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
|
|
|
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-optional')
|
|
@@ -149,10 +151,8 @@ def test_services_login_entries(host):
|
|
|
|
|
|
with host.sudo():
|
|
|
|
|
|
entries = host.run("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
|
|
|
expected_entries = parse_ldif("""
|
|
|
dn: cn=consumer1,ou=services,dc=local
|
|
|
objectClass: applicationProcess
|
|
|
objectClass: simpleSecurityObject
|
|
|
userPassword:: Y29uc3VtZXIxcGFzc3dvcmQ=
|
|
@@ -163,8 +163,12 @@ objectClass: applicationProcess
|
|
|
objectClass: simpleSecurityObject
|
|
|
userPassword:: Y29uc3VtZXIycGFzc3dvcmQ=
|
|
|
cn: consumer2
|
|
|
""")
|
|
|
|
|
|
"""
|
|
|
entries = host.run("ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s one -b ou=services,dc=local '(objectClass=simpleSecurityObject)'")
|
|
|
|
|
|
assert entries.rc == 0
|
|
|
assert parse_ldif(entries.stdout) == expected_entries
|
|
|
|
|
|
|
|
|
def test_group_entries(host):
|
|
@@ -174,10 +178,8 @@ def test_group_entries(host):
|
|
|
|
|
|
with host.sudo():
|
|
|
|
|
|
entries = host.run("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
|
|
|
expected_entries = parse_ldif("""
|
|
|
dn: cn=group1,ou=groups,dc=local
|
|
|
objectClass: groupOfUniqueNames
|
|
|
uniqueMember: cn=NONE
|
|
|
cn: group1
|
|
@@ -186,8 +188,12 @@ dn: cn=group2,ou=groups,dc=local
|
|
|
objectClass: groupOfUniqueNames
|
|
|
uniqueMember: cn=NONE
|
|
|
cn: group2
|
|
|
""")
|
|
|
|
|
|
entries = host.run("ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -s one -b ou=groups,dc=local '(objectClass=groupOfUniqueNames)'")
|
|
|
|
|
|
"""
|
|
|
assert entries.rc == 0
|
|
|
assert parse_ldif(entries.stdout) == expected_entries
|
|
|
|
|
|
|
|
|
def test_user_supplied_entries(host):
|
|
@@ -197,22 +203,24 @@ def test_user_supplied_entries(host):
|
|
|
|
|
|
with host.sudo():
|
|
|
|
|
|
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.strip().split("\n")) == sorted("""dn: uid=john,dc=local
|
|
|
expected_entries = parse_ldif("""
|
|
|
dn: uid=john,dc=local
|
|
|
objectClass: inetOrgPerson
|
|
|
objectClass: simpleSecurityObject
|
|
|
userPassword:: am9obnBhc3N3b3Jk
|
|
|
cn: John Doe
|
|
|
sn: Doe
|
|
|
uid: john""".split("\n"))
|
|
|
uid: john
|
|
|
|
|
|
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.strip().split("\n")) == sorted("""dn: uid=jane,dc=local
|
|
|
dn: uid=jane,dc=local
|
|
|
objectClass: inetOrgPerson
|
|
|
objectClass: simpleSecurityObject
|
|
|
userPassword:: amFuZXBhc3N3b3Jk
|
|
|
cn: Jane Doe
|
|
|
sn: Doe
|
|
|
uid: jane""".split("\n"))
|
|
|
uid: jane""")
|
|
|
|
|
|
entries = host.run("ldapsearch -H ldapi:/// -Q -LLL -Y EXTERNAL -b dc=local '(|(entrydn=uid=john,dc=local)(entrydn=uid=jane,dc=local))'")
|
|
|
|
|
|
assert entries.rc == 0
|
|
|
assert parse_ldif(entries.stdout) == expected_entries
|