from phi.ldap.user import get_user_by_uid, get_users_by_ou, \ add_user, delete_user from phi.ldap.entry import add_group_member, get_group_members def test_connection(ldap_client): assert ldap_client.connection.closed is False assert ldap_client.connection.bound is True def test_get_user_by_id(ldap_client): user = get_user_by_uid(ldap_client, 'conte_mascetti') assert user['uid'] == 'conte_mascetti' assert user['mail'] == 'rmascetti@autistici.org' def test_get_users_by_ou(ldap_client): users = get_users_by_ou(ldap_client, 'Hackers') assert 'conte_mascetti' in [u['uid'] for u in users] def test_add_delete_user(ldap_client): uid = 'rosa_rossi' cn = 'Rosa' sn = 'Rossi' mail = 'foo@autistici.org' add_user(ldap_client, uid, cn, sn, mail) user = get_user_by_uid(ldap_client, uid) assert user['uid'] == uid assert user['mail'] == mail delete_user(ldap_client, uid) user = get_user_by_uid(ldap_client, uid) assert user is None def test_failing_add_user(ldap_client): uid = 'conte_mascetti' try: add_user(ldap_client, uid, '.', '.', '.') except: # User alrady existing pass else: assert False def test_failing_delete_user(ldap_client): uid = 'rosa_rossi' try: delete_user(ldap_client, uid) except: # User already not existing pass else: assert False def test_add_to_group(ldap_client): client = ldap_client group_cn = 'WikiUsers' member_uid = 'rosa_rossi' add_user(client, member_uid, '.', '.', '.') group_members = get_group_members(client, 'WikiUsers') assert len(group_members) == 1 # print(group_members) add_group_member(client, group_cn, member_uid) group_members = get_group_members(client, 'WikiUsers') assert len(group_members) == 2 assert 'uid=rosa_rossi,ou=Hackers,dc=unit,dc=macaomilano,dc=org' \ in group_members # print(group_members) delete_user(client, member_uid)