0002-use-get_by_email-for-ldap-email-lookup-67600.patch
src/authentic2/backends/ldap_backend.py | ||
---|---|---|
1386 | 1386 |
Lock.lock_email(email) |
1387 | 1387 |
try: |
1388 | 1388 |
log.debug('ldap: lookup using email %r', email) |
1389 |
return self._lookup_user_queryset(block=block).get(ou=ou, email=email)
|
|
1389 |
return self._lookup_user_queryset(block=block).filter(ou=ou).get_by_email(email)
|
|
1390 | 1390 |
except User.DoesNotExist: |
1391 | 1391 |
return None |
1392 | 1392 |
except User.MultipleObjectsReturned: |
tests/test_ldap.py | ||
---|---|---|
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: foo.bar@entrouvert.com |
|
854 |
o: EO |
|
855 |
o: EE |
|
856 |
'''.format( |
|
857 |
email=EMAIL.upper(), |
|
858 |
) |
|
859 |
User.objects.create( |
|
860 |
username='foo.bar', |
|
861 |
first_name='foo', |
|
862 |
last_name='bar', |
|
863 |
email='FoO.BaR@EnTrOuVeRt.CoM', |
|
864 |
ou=get_default_ou(), |
|
865 |
) |
|
866 |
slapd.add_ldif(ldif) |
|
867 |
conn = slapd.get_connection_admin() |
|
868 |
save.reset_mock() |
|
869 |
bulk_create.reset_mock() |
|
870 |
users = list(ldap_backend.LDAPBackend.get_users()) |
|
871 |
assert User.objects.count() == 7 |
|
872 | ||
843 | 873 | |
844 | 874 |
def test_set_mandatory_roles(slapd, settings, db): |
845 | 875 |
Role.objects.get_or_create(name='tech') |
846 |
- |