parent
9e4d564a33
commit
cbf4aa43f8
@ -0,0 +1,15 @@ |
||||
import pytest |
||||
|
||||
from ceo_common.errors import UserAlreadySubscribedError, UserNotSubscribedError |
||||
|
||||
|
||||
def test_user_mailing_lists(ldap_user): |
||||
user = ldap_user |
||||
|
||||
user.subscribe_to_mailing_list('csc-general') |
||||
with pytest.raises(UserAlreadySubscribedError): |
||||
user.subscribe_to_mailing_list('csc-general') |
||||
|
||||
user.unsubscribe_from_mailing_list('csc-general') |
||||
with pytest.raises(UserNotSubscribedError): |
||||
user.unsubscribe_from_mailing_list('csc-general') |
@ -0,0 +1,32 @@ |
||||
import ldap |
||||
|
||||
|
||||
def test_uwldap_get(uwldap_srv, uwldap_user): |
||||
retrieved_user = uwldap_srv.get_user(uwldap_user.uid) |
||||
assert retrieved_user is not None |
||||
assert retrieved_user.uid == uwldap_user.uid |
||||
|
||||
assert uwldap_srv.get_user('no_such_user') is None |
||||
|
||||
|
||||
def test_ldap_updateprograms(cfg, ldap_srv, uwldap_srv, ldap_user, uwldap_user): |
||||
# sanity check |
||||
assert ldap_user.uid == uwldap_user.uid |
||||
# modify the user's program in UWLDAP |
||||
conn = ldap.initialize(cfg.get('uwldap_server_url')) |
||||
conn.sasl_gssapi_bind_s() |
||||
base_dn = cfg.get('uwldap_base') |
||||
dn = f'uid={uwldap_user.uid},{base_dn}' |
||||
conn.modify_s(dn, ldap.modlist.modifyModlist( |
||||
{'ou': [uwldap_user.program.encode()]}, |
||||
{'ou': [b'New Program']}, |
||||
)) |
||||
|
||||
assert ldap_srv.update_programs(dry_run=True) == [ |
||||
(uwldap_user.uid, uwldap_user.program, 'New Program'), |
||||
] |
||||
assert ldap_srv.get_user(uwldap_user.uid).program == uwldap_user.program |
||||
assert ldap_srv.update_programs(members=['no_such_user']) == [] |
||||
|
||||
ldap_srv.update_programs() |
||||
assert uwldap_srv.get_user(uwldap_user.uid).program == 'New Program' |
Loading…
Reference in new issue