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'