def setUp(self): server = os.environ.get('TEST_SERVER', 'ldap-server') self.env = Environment[server] ld = LDAP(self.env['uri_389']) ld.bind(self.env['root_dn'], self.env['root_pw']) (dn, attributes) = create_user_entry() self.old_user_dn = dn self.old_user_attributes = attributes ld.add(self.old_user_dn, self.old_user_attributes)
def test_add_with_relax(self): (dn, attributes) = create_user_entry(relax=True) self.new_user_dn = dn self.new_user_attributes = attributes ld = LDAP(self.env['uri_389']) ld.bind(self.env['root_dn'], self.env['root_pw']) c = LDAPControl() c.add_control(LDAP_CONTROL_RELAX) ld.add(self.new_user_dn, self.new_user_attributes, controls=c)
def addtestuser(uri, bind_dn, bind_pass, min_uid, max_uid): ld = LDAP(URI) ld.bind(BIND_DN, BIND_PASS) for uid in range(min_uid, max_uid + 1): entry_dn = 'uid=test' + str(uid) + ',ou=users,dc=example,dc=jp' entry = [('objectClass', ['person', 'posixAccount']), ('uid', [str(uid)]), ('uidNumber', [str(uid)]), ('gidNumber', [str(uid)]), ('homeDirectory', ['/home/test' + str(uid)]), ('cn', ['test' + str(uid)]), ('sn', ['test' + str(uid)]), ('userPassword', ['secret123'])] result = ld.add(entry_dn, entry) return result
def ldapaddmiyabi(): print("call ldapaddmiyabi") ld = LDAP(URI) ld.bind(BIND_DN, BIND_PASS) result = ld.add( 'uid=miyabi2,ou=Users,dc=example, dc=jp', [('objectClass', ['top', 'person', 'inetOrgPerson', 'posixAccount']), ('uid', ['miyabi2']), ('cn', ['miyabi2']), ('sn', ['shibayama']), ('givenName', ['miyabi2']), ('uidNumber', ['1001']), ('gidNumber', ['1001']), ('homeDirectory', ['/home/miyabi2']), ('description', ['Test6']), ('loginShell', ['/bin/bash']), ('userPassword', ['miyabi123'])]) return result
def test_add(self): ld = LDAP(self.env['uri_389']) ld.bind(self.env['root_dn'], self.env['root_pw']) ld.add(self.new_user_dn, self.new_user_attributes)
def test_add_async(self): ld = LDAP(self.env['uri_389']) ld.bind(self.env['root_dn'], self.env['root_pw']) msgid = ld.add(self.new_user_dn, self.new_user_attributes, async=True) result = ld.result(msgid) self.assertEqual(result['return_code'], 0)
# ldapadd2.py from libldap import LDAP URI = 'ldap://ldap.example.jp' BASE_DN = 'dc=example,dc=jp' BIND_DN = 'cn=master,dc=example,dc=jp' BIND_PASS = '******' ld = LDAP(URI) ld.bind(BIND_DN, BIND_PASS) result = ld.add('cn=group2,ou=Groups,dc=example,dc=jp', [('objectClass', ['top', 'posixGroup']), ('cn', ['group2']), ('gidNumber', ['3000']), ('description', ['Test Group 3'])]) print(result)