0001-use-get_by_email-for-ldap-email-lookup-67600.patch
src/authentic2/backends/ldap_backend.py | ||
---|---|---|
1383 | 1383 |
Lock.lock_email(email) |
1384 | 1384 |
try: |
1385 | 1385 |
log.debug('ldap: lookup using email %r', email) |
1386 |
return self._lookup_user_queryset(block=block).get(ou=ou, email=email)
|
|
1386 |
return self._lookup_user_queryset(block=block).filter(ou=ou).get_by_email(email)
|
|
1387 | 1387 |
except LDAPUser.DoesNotExist: |
1388 | 1388 |
return None |
1389 | 1389 |
except LDAPUser.MultipleObjectsReturned: |
tests/test_ldap.py | ||
---|---|---|
771 | 771 |
'group_to_role_mapping': [ |
772 | 772 |
['cn=unknown,o=dn', ['Role2']], |
773 | 773 |
], |
774 |
'lookups': ['external_id', 'username'], |
|
774 |
'lookups': ['external_id', 'username', 'email'],
|
|
775 | 775 |
} |
776 | 776 |
] |
777 | 777 |
save = mock.Mock(wraps=ldap_backend.LDAPUser.save) |
... | ... | |
840 | 840 |
assert len(users) == 6 |
841 | 841 |
assert ldap_backend.LDAPUser.objects.filter(username='%s' % UID.capitalize()).count() == 0 |
842 | 842 | |
843 |
# email lookup : add an user with uppercase email in the directory |
|
844 |
# and check that no new user is created |
|
845 |
ldif = ''' |
|
846 |
dn: uid=upperemail,o=ôrga |
|
847 |
objectClass: inetOrgPerson |
|
848 |
userPassword: pass |
|
849 |
uid: upperemail |
|
850 |
cn: Upper Email |
|
851 |
sn: Upper |
|
852 |
gn: Email |
|
853 |
mail: {email} |
|
854 |
o: EO |
|
855 |
o: EE |
|
856 |
'''.format( |
|
857 |
email=EMAIL.upper(), |
|
858 |
) |
|
859 |
slapd.add_ldif(ldif) |
|
860 |
conn = slapd.get_connection_admin() |
|
861 |
save.reset_mock() |
|
862 |
bulk_create.reset_mock() |
|
863 |
users = list(ldap_backend.LDAPBackend.get_users()) |
|
864 |
assert User.objects.count() == 6 |
|
865 | ||
843 | 866 | |
844 | 867 |
def test_set_mandatory_roles(slapd, settings, db): |
845 | 868 |
Role.objects.get_or_create(name='tech') |
846 |
- |