phi/test/test_ldap.py

83 lines
2.0 KiB
Python

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)