From c423ad75a56b199083463a2714c8fbfd6e8edcc8 Mon Sep 17 00:00:00 2001 From: Nikolai Kondrashov Date: Mon, 28 Sep 2015 16:12:48 +0300 Subject: intg: Add support for specifying all user attrs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Support passing all user attributes to ldap_ent.py's user-creation functions, in integration tests. Reviewed-by: Lukáš Slebodník --- src/tests/intg/ldap_ent.py | 51 +++++++++++++++++++++++++++++++++++----------- 1 file 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): -- cgit