ldap: always report count of synchronized users (#61128)
This commit is contained in:
parent
ebab6fbf4c
commit
1a446f7c75
|
@ -896,7 +896,6 @@ class LDAPBackend:
|
|||
"""Retrieve group DNs from the LDAP by attributes (memberOf) or by
|
||||
filter.
|
||||
"""
|
||||
ldap_uri = conn.get_option(ldap.OPT_URI)
|
||||
group_base_dn = block['group_basedn'] or block['basedn']
|
||||
member_of_attribute = block['member_of_attribute']
|
||||
group_filter = block['group_filter']
|
||||
|
@ -1470,9 +1469,7 @@ class LDAPBackend:
|
|||
conn, user_basedn, ldap.SCOPE_SUBTREE, user_filter, attrlist=attribute_names
|
||||
)
|
||||
backend = cls()
|
||||
count = 0
|
||||
for dn, attrs in results:
|
||||
count += 1
|
||||
user = backend._return_user(dn, None, conn, block, attrs)
|
||||
if not user:
|
||||
log.warning('unable to retrieve user for dn %s', dn)
|
||||
|
@ -1486,7 +1483,6 @@ class LDAPBackend:
|
|||
', '.join('%s=%s' % (k, v) for k, v in attrs.items()),
|
||||
)
|
||||
yield user
|
||||
log.info('Search for %s returned %s users.', user_filter, count)
|
||||
|
||||
@classmethod
|
||||
def get_users(cls, realm=None):
|
||||
|
@ -1497,10 +1493,15 @@ class LDAPBackend:
|
|||
for block in blocks:
|
||||
if realm and realm != block['realm']:
|
||||
continue
|
||||
count = 0
|
||||
try:
|
||||
yield from cls.get_users_for_block(block)
|
||||
for user in cls.get_users_for_block(block):
|
||||
count += 1
|
||||
yield user
|
||||
except ldap.LDAPError as e:
|
||||
log.error('synchronization failed on an LDAP error: "%s"', e)
|
||||
user_filter = cls.get_sync_ldap_user_filter(block)
|
||||
log.info('Search for %s returned %s users.', user_filter, count)
|
||||
|
||||
@classmethod
|
||||
def deactivate_orphaned_users(cls):
|
||||
|
|
|
@ -1810,7 +1810,7 @@ def test_sync_ldap_users(mocked_emit, slapd, settings, app, db):
|
|||
% User.objects.first().uuid
|
||||
)
|
||||
assert (
|
||||
mocked_emit.call_args_list[-1][0][0].getMessage() == 'Search for (|(mail=*)(uid=*)) returned 7 users.'
|
||||
mocked_emit.call_args_list[-1][0][0].getMessage() == 'Search for (|(mail=*)(uid=*)) returned 6 users.'
|
||||
)
|
||||
|
||||
assert User.objects.count() == 6
|
||||
|
|
Loading…
Reference in New Issue