From 9816ebab9a38c5866efd9cd9ad9140cb88ee02d3 Mon Sep 17 00:00:00 2001 From: Paul Marillonnet Date: Fri, 8 Dec 2017 15:05:23 +0100 Subject: [PATCH] WIP ldap_backend: add attribute-retrieval unit testing (#19365) --- tests/test_ldap.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/tests/test_ldap.py b/tests/test_ldap.py index 5a22dba5..56b3646f 100644 --- a/tests/test_ldap.py +++ b/tests/test_ldap.py @@ -26,6 +26,7 @@ CN = 'Étienne Michu' DN = 'cn=%s,o=orga' % escape_dn_chars(CN) PASS = 'passé' EMAIL = 'etienne.michu@example.net' +CARLICENSE = '123445ABC' @pytest.fixture @@ -39,12 +40,13 @@ cn: Étienne Michu sn: Michu gn: Étienne mail: etienne.michu@example.net +carLicense: {cl} dn: cn=group1,o=orga objectClass: groupOfNames member: {dn} -'''.format(dn=DN, uid=UID, password=PASS)) +'''.format(dn=DN, uid=UID, password=PASS, cl=CARLICENSE)) for i in range(100): slapd.add_ldif('''dn: uid=michu{i},o=orga objectClass: inetOrgPerson @@ -351,6 +353,24 @@ def test_group_staff(slapd, settings, client): @pytest.mark.django_db +def test_get_attributes(slapd, settings, client): + settings.LDAP_AUTH_SETTINGS = [{ + 'url': [slapd.ldap_url], + 'basedn': 'o=orga', + 'use_tls': False, + 'groupstaff': ['cn=group1,o=orga'], + 'attributes': ['uid', 'carLicense'], + }] + response = client.post('/login/', {'login-password-submit': '1', + 'username': 'etienne.michu', + 'password': PASS}, follow=True) + user = response.context['user'] + fetched_attrs = user.get_attributes() + assert UID in fetched_attrs.get('uid') + assert CARLICENSE in fetched_attrs.get('carlicense') + + +@pytest.mark.django_db def test_get_users(slapd, settings): import django.db.models.base from types import MethodType -- 2.11.0