Projet

Général

Profil

0002-use-get_by_email-for-ldap-email-lookup-67600.patch

Paul Marillonnet, 21 juillet 2022 16:13

Télécharger (2,21 ko)

Voir les différences:

Subject: [PATCH 2/2] use get_by_email for ldap email lookup (#67600)

 src/authentic2/backends/ldap_backend.py |  2 +-
 tests/test_ldap.py                      | 30 +++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)
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
-