2337 |
2337 |
assert len(caplog.records) == 6
|
2338 |
2338 |
assert all(record.levelname == 'ERROR' for record in caplog.records)
|
2339 |
2339 |
assert all('unable to build an external_id' in record.message for record in caplog.records)
|
|
2340 |
|
|
2341 |
|
|
2342 |
def test_mandatory_role_slug_ambiguity_fallback_on_default_ou(db, rf, slapd, client, settings, caplog, ou1):
|
|
2343 |
settings.LDAP_AUTH_SETTINGS = [
|
|
2344 |
{
|
|
2345 |
'url': [slapd.ldap_url],
|
|
2346 |
'basedn': 'o=ôrga',
|
|
2347 |
'use_tls': False,
|
|
2348 |
'attributes': ['jpegPhoto'],
|
|
2349 |
'set_mandatory_roles': ['ambiguous-role'],
|
|
2350 |
}
|
|
2351 |
]
|
|
2352 |
|
|
2353 |
default_ou = get_default_ou()
|
|
2354 |
Role.objects.create(slug='ambiguous-role', ou=default_ou)
|
|
2355 |
Role.objects.create(slug='ambiguous-role', ou=ou1)
|
|
2356 |
result = client.post(
|
|
2357 |
'/login/', {'login-password-submit': '1', 'username': USERNAME, 'password': PASS}, follow=True
|
|
2358 |
)
|
|
2359 |
assert result.status_code == 200
|
|
2360 |
assert force_bytes('Étienne Michu') in result.content
|
|
2361 |
assert User.objects.count() == 1
|
|
2362 |
user = User.objects.get()
|
|
2363 |
role = user.roles.get(slug='ambiguous-role')
|
|
2364 |
assert role.ou == default_ou
|
|
2365 |
|
|
2366 |
|
|
2367 |
def test_mandatory_role_name_ambiguity_fallback_on_default_ou(db, rf, slapd, client, settings, caplog, ou1):
|
|
2368 |
settings.LDAP_AUTH_SETTINGS = [
|
|
2369 |
{
|
|
2370 |
'url': [slapd.ldap_url],
|
|
2371 |
'basedn': 'o=ôrga',
|
|
2372 |
'use_tls': False,
|
|
2373 |
'attributes': ['jpegPhoto'],
|
|
2374 |
'set_mandatory_roles': ['Ambiguous role'],
|
|
2375 |
}
|
|
2376 |
]
|
|
2377 |
|
|
2378 |
default_ou = get_default_ou()
|
|
2379 |
Role.objects.create(name='Ambiguous role', ou=default_ou)
|
|
2380 |
Role.objects.create(name='Ambiguous role', ou=ou1)
|
|
2381 |
result = client.post(
|
|
2382 |
'/login/', {'login-password-submit': '1', 'username': USERNAME, 'password': PASS}, follow=True
|
|
2383 |
)
|
|
2384 |
assert result.status_code == 200
|
|
2385 |
assert force_bytes('Étienne Michu') in result.content
|
|
2386 |
assert User.objects.count() == 1
|
|
2387 |
user = User.objects.get()
|
|
2388 |
role = user.roles.get(name='Ambiguous role')
|
|
2389 |
assert role.ou == default_ou
|
2340 |
|
-
|