From 407f4c8c221e6a752826fcc28a1a34e2511c76b0 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 12 Jun 2019 13:30:03 +0200 Subject: [PATCH] show synced LDAP users with verbosity > 2 (#33870) --- src/authentic2/management/commands/sync-ldap-users.py | 8 +++++++- tests/test_ldap.py | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/authentic2/management/commands/sync-ldap-users.py b/src/authentic2/management/commands/sync-ldap-users.py index cbef7c5b..d398813f 100644 --- a/src/authentic2/management/commands/sync-ldap-users.py +++ b/src/authentic2/management/commands/sync-ldap-users.py @@ -14,6 +14,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from __future__ import print_function try: import ldap from ldap.filter import filter_format # noqa: F401 @@ -27,4 +28,9 @@ from authentic2.backends.ldap_backend import LDAPBackend class Command(BaseCommand): def handle(self, *args, **kwargs): - list(LDAPBackend.get_users()) + verbosity = int(kwargs['verbosity']) + if verbosity > 1: + print('Updated users :') + for user in LDAPBackend.get_users(): + if getattr(user, '_changed', False) and verbosity > 1: + print(' -', user.uuid, user.get_username(), user.get_full_name()) diff --git a/tests/test_ldap.py b/tests/test_ldap.py index cf1396f2..c7a54a36 100644 --- a/tests/test_ldap.py +++ b/tests/test_ldap.py @@ -781,7 +781,7 @@ def test_ou_selector_default_ou(slapd, settings, app, ou1): assert '_auth_user_id' in app.session -def test_sync_ldap_users(slapd, settings, app, db): +def test_sync_ldap_users(slapd, settings, app, db, capsys): settings.LDAP_AUTH_SETTINGS = [{ 'url': [slapd.ldap_url], 'basedn': u'o=ôrga', @@ -806,7 +806,9 @@ def test_sync_ldap_users(slapd, settings, app, db): multiple=False) assert User.objects.count() == 0 - management.call_command('sync-ldap-users') + capsys.readouterr() + management.call_command('sync-ldap-users', verbosity=2) + assert len(capsys.readouterr().out.splitlines()) == 7 assert User.objects.count() == 6 assert all(user.first_name == u'Étienne' for user in User.objects.all()) assert all(user.attributes.first_name == u'Étienne' for user in User.objects.all()) @@ -817,6 +819,9 @@ def test_sync_ldap_users(slapd, settings, app, db): assert all([user.userexternalid_set.first().external_id == urlparse.quote(user.username.split('@')[0].encode('utf-8')) for user in User.objects.all()]) + capsys.readouterr() + management.call_command('sync-ldap-users', verbosity=2) + assert len(capsys.readouterr().out.splitlines()) == 1 def test_alert_on_wrong_user_filter(slapd, settings, client, db, caplog): -- 2.20.1