phi/test/test_ldap.py

58 lines
1.4 KiB
Python

from phi.ldap.user import get_user_by_uid, get_users_by_ou
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):
entry = get_user_by_uid(ldap_client, 'conte_mascetti')
assert entry['uid'] == 'conte_mascetti'
assert entry['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_user(ldap_client):
client = ldap_client
cn = 'Rosa'
sn = 'Rossi'
mail = 'foo@autistici.org'
uid = 'rosa_rossi'
dn = 'uid={},ou=Hackers,{}'.format(
uid, client.base_dn
)
response_id = client.connection.add(
dn,
attributes={
'objectClass': [
'inetOrgPerson',
'organizationalPerson',
'person', 'top'
],
'cn': cn,
'sn': sn,
'mail': mail
}
)
response, result, request = client.connection.get_response(
response_id, get_request=True
)
print("Request: {}".format(request))
print("Response: {}".format(response))
print("Result: {}".format(result))
entry = get_user_by_uid(ldap_client, uid)
assert entry['uid'] == uid
assert entry['mail'] == mail