summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolai Kondrashov <Nikolai.Kondrashov@redhat.com>2015-09-28 16:12:48 +0300
committerLukas Slebodnik <lslebodn@redhat.com>2015-10-09 09:03:07 +0200
commitc423ad75a56b199083463a2714c8fbfd6e8edcc8 (patch)
tree1c786d2aba6de22301d373e64253e3c7862a424e
parenta190e39ea4f2c084091be1cd37a3c6e3b603540e (diff)
downloadsssd-c423ad75a56b199083463a2714c8fbfd6e8edcc8.tar.gz
sssd-c423ad75a56b199083463a2714c8fbfd6e8edcc8.tar.xz
sssd-c423ad75a56b199083463a2714c8fbfd6e8edcc8.zip
intg: Add support for specifying all user attrs
Support passing all user attributes to ldap_ent.py's user-creation functions, in integration tests. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-rw-r--r--src/tests/intg/ldap_ent.py51
1 files changed, 39 insertions, 12 deletions
diff --git a/src/tests/intg/ldap_ent.py b/src/tests/intg/ldap_ent.py
index 30eed9d64..4369869e3 100644
--- a/src/tests/intg/ldap_ent.py
+++ b/src/tests/intg/ldap_ent.py
@@ -18,25 +18,40 @@
#
-def user(base_dn, uid, uidNumber, gidNumber):
+def user(base_dn, uid, uidNumber, gidNumber,
+ userPassword=None,
+ gecos=None,
+ homeDirectory=None,
+ loginShell=None,
+ cn=None,
+ sn=None):
"""
Generate an RFC2307(bis) user add-modlist for passing to ldap.add*
"""
uidNumber = str(uidNumber)
gidNumber = str(gidNumber)
- return (
+ user = (
"uid=" + uid + ",ou=Users," + base_dn,
[
- ('objectClass', ['top', 'inetOrgPerson', 'posixAccount']),
- ('cn', [uidNumber]),
- ('sn', ['User']),
- ('uidNumber', [uidNumber]),
- ('gidNumber', [gidNumber]),
- ('userPassword', ['Password' + uidNumber]),
- ('homeDirectory', ['/home/' + uid]),
- ('loginShell', ['/bin/bash']),
+ ('objectClass', ['top', 'inetOrgPerson', 'posixAccount']),
+ ('cn', [uidNumber if cn is None else cn]),
+ ('sn', ['User' if sn is None else sn]),
+ ('uidNumber', [uidNumber]),
+ ('gidNumber', [gidNumber]),
+ ('userPassword', ['Password' + uidNumber
+ if userPassword is None
+ else userPassword]),
+ ('homeDirectory', ['/home/' + uid
+ if homeDirectory is None
+ else homeDirectory]),
+ ('loginShell', ['/bin/bash'
+ if loginShell is None
+ else loginShell]),
]
)
+ if gecos is not None:
+ user[1].append(('gecos', [gecos]))
+ return user
def group(base_dn, cn, gidNumber, member_uids=[]):
@@ -86,10 +101,22 @@ class List(list):
self.base_dn = base_dn
def add_user(self, uid, uidNumber, gidNumber,
- base_dn=None):
+ base_dn=None,
+ userPassword=None,
+ gecos=None,
+ homeDirectory=None,
+ loginShell=None,
+ cn=None,
+ sn=None):
"""Add an RFC2307(bis) user add-modlist."""
self.append(user(base_dn or self.base_dn,
- uid, uidNumber, gidNumber))
+ uid, uidNumber, gidNumber,
+ userPassword=userPassword,
+ gecos=gecos,
+ homeDirectory=homeDirectory,
+ loginShell=loginShell,
+ cn=cn,
+ sn=sn))
def add_group(self, cn, gidNumber, member_uids=[],
base_dn=None):