doublons-cd91: do not consider disabled users

This commit is contained in:
Valentin Deniaud 2024-03-18 15:59:32 +01:00
parent 333a3e617b
commit 5c010343f7
2 changed files with 11 additions and 4 deletions

View File

@ -30,7 +30,7 @@ logger.info('=== Starting fusion at %s ===', timezone.now().strftime('%Y-%m-%dT%
agent_users = (
User.objects.filter(email__icontains='@cd-essonne.fr', saml_identifiers__isnull=False)
User.objects.filter(email__icontains='@cd-essonne.fr', is_active=True, saml_identifiers__isnull=False)
.distinct()
.order_by('-last_login', 'first_name')
)

View File

@ -32,7 +32,14 @@ def test_authentic_fusion(db, caplog):
last_name='No duplicate',
email='agent.no.dup@cd-essonne.fr',
)
deactivated_saml_user = User.objects.create(
first_name='Agent',
last_name='No duplicate (deactivated)',
email='agent.no.dup@cd-essonne.fr',
is_active=False,
)
UserSAMLIdentifier.objects.create(user=saml_user, issuer=issuer, name_id='anodup')
UserSAMLIdentifier.objects.create(user=deactivated_saml_user, issuer=issuer, name_id='adeact')
# duplicated users, agents with saml link
saml_user_old_connection = User.objects.create(
@ -96,7 +103,7 @@ def test_authentic_fusion(db, caplog):
saml_user_old_connection_2.roles.add(role1)
saml_user_old_connection_2.roles.add(role2)
assert User.objects.count() == 10
assert User.objects.count() == 11
assert User.objects.filter(is_active=True).count() == 10
call_command('runscript', 'tests/authentic_fusion.py')
@ -119,7 +126,7 @@ def test_authentic_fusion(db, caplog):
]
# no changes in db
assert User.objects.count() == 10
assert User.objects.count() == 11
assert User.objects.filter(is_active=True).count() == 10
assert saml_user_recent_connection_no_roles_2.roles.count() == 0
@ -129,7 +136,7 @@ def test_authentic_fusion(db, caplog):
assert log_messages[:-1] == caplog.messages[:-1]
assert caplog.messages[-1] == '=== Success ==='
assert User.objects.count() == 10
assert User.objects.count() == 11
assert User.objects.filter(is_active=True).count() == 7
assert User.objects.filter(email='normal.user@gmail.com', is_active=True).count() == 2