582 |
582 |
user.save()
|
583 |
583 |
models.FcAccount.objects.create(user=user, sub='1234')
|
584 |
584 |
|
585 |
585 |
# user1 FC email has changed
|
586 |
586 |
assert franceconnect.sub == '1234'
|
587 |
587 |
assert franceconnect.user_info['given_name'] == 'Ÿuñe'
|
588 |
588 |
franceconnect.user_info['email'] = 'jhonny@example.com'
|
589 |
589 |
|
590 |
|
# connection using FC sub 1234 will update user1 email
|
|
590 |
# connection using FC sub 1234 will not update user1 email
|
591 |
591 |
franceconnect.login_with_fc_fixed_params(app)
|
592 |
|
assert User.objects.get(pk=user.pk).email == 'jhonny@example.com'
|
|
592 |
assert User.objects.get(pk=user.pk).email == 'john.doe@example.com'
|
593 |
593 |
assert User.objects.get(pk=user.pk).first_name == 'Ÿuñe'
|
594 |
594 |
assert app.session['_auth_user_id'] == str(user.pk)
|
595 |
|
|
596 |
|
|
597 |
|
def test_update_fc_redondant_email(settings, app, franceconnect):
|
598 |
|
settings.A2_EMAIL_IS_UNIQUE = True
|
599 |
|
user1 = User(email='john.doe@example.com', first_name='John', last_name='Doe')
|
600 |
|
user1.save()
|
601 |
|
models.FcAccount.objects.create(user=user1, sub='1234')
|
602 |
|
user2 = User(email='joe@example.com', first_name='Joe', last_name='Dalton')
|
603 |
|
user2.save()
|
604 |
|
models.FcAccount.objects.create(user=user2, sub='4567')
|
605 |
|
|
606 |
|
# user1 FC email has changed and provide user2 email
|
607 |
|
assert franceconnect.sub == '1234'
|
608 |
|
assert franceconnect.user_info['given_name'] == 'Ÿuñe'
|
609 |
|
franceconnect.user_info['email'] = 'joe@example.com'
|
610 |
|
|
611 |
|
# connection using FC sub 1234 will introduce a redondant mail
|
612 |
|
franceconnect.login_with_fc_fixed_params(app)
|
613 |
|
assert User.objects.get(pk=user1.pk).email == 'joe@example.com'
|
614 |
|
assert User.objects.get(pk=user1.pk).first_name == 'Ÿuñe'
|
615 |
|
assert User.objects.get(pk=user2.pk).email == 'joe@example.com'
|
616 |
|
assert app.session['_auth_user_id'] == str(user1.pk)
|
617 |
|
-
|