예제 #1
0
def test_when_deprecated_send_reset_password_link_serializer_then_success(
        settings_with_reset_password_verification, user, api_view_provider,
        api_factory):
    request = api_factory.create_post_request({
        'login': '******',
    })
    response = api_view_provider.view_func(request)
    assert_response_is_ok(response)
def test_when_deprecated_login_serializer_then_success(settings_minimal, user,
                                                       api_view_provider,
                                                       api_factory):
    request = api_factory.create_post_request({
        'login': '******',
        'password': '******',
    })
    api_factory.add_session_to_request(request)
    response = api_view_provider.view_func(request)
    assert_response_is_ok(response)
def test_update_email_via_profile(settings_with_register_email_verification,
                                  user, old_email, new_email,
                                  api_view_provider, api_factory):
    request = api_factory.create_patch_request({
        'email': new_email,
    })
    force_authenticate(request, user=user)
    response = api_view_provider.view_func(request)
    assert_response_is_ok(response)
    user.refresh_from_db()
    assert user.email == old_email
예제 #4
0
def test_when_no_user_reveal_and_user_not_found_then_send_link_successful(
        settings_with_reset_password_verification,
        settings_with_reset_password_fail_when_user_not_found_disabled,
        api_view_provider, api_factory):
    request = api_factory.create_post_request({
        'login': '******',
    })
    with capture_sent_emails() as sent_emails:
        response = api_view_provider.view_func(request)
    assert_response_is_ok(response)
    assert_no_email_sent(sent_emails)
def test_when_confirm_enabled_and_password_confirm_field_then_success(
        settings_with_reset_password_verification, user, user_signed_data,
        new_password, api_view_provider, api_factory):
    user_signed_data['password'] = new_password
    user_signed_data['password_confirm'] = new_password
    request = api_factory.create_post_request(user_signed_data)
    response = api_view_provider.view_func(request)

    assert_response_is_ok(response)
    user.refresh_from_db()
    assert user.check_password(new_password)
예제 #6
0
def test_ok_when_deprecated_register_email_serializer(user, api_view_provider,
                                                      api_factory):
    request = api_factory.create_post_request({
        'email': '*****@*****.**',
    })
    force_authenticate(request, user=user)
    with capture_sent_emails() as sent_emails:
        response = api_view_provider.view_func(request)
    assert_response_is_ok(response)
    assert_no_email_sent(sent_emails)
    user.refresh_from_db()
    assert user.email == '*****@*****.**'
예제 #7
0
def test_when_duplicated_email_then_send_link_via_login_successful(
        settings_with_reset_password_verification, api_view_provider,
        api_factory, user, user2_with_user_email):
    request = api_factory.create_post_request({
        'login': user.username,
    })
    with capture_sent_emails() as sent_emails, capture_time() as timer:
        response = api_view_provider.view_func(request)
    assert_response_is_ok(response)
    assert_one_email_sent(sent_emails)

    sent_email = sent_emails[0]
    assert_valid_send_link_email(sent_email, user, timer)
예제 #8
0
def test_when_confirm_enabled_and_password_confirm_field_then_reset_password_succeeds(  # noqa: E501
        settings_with_reset_password_verification, user, password_change,
        api_view_provider, api_factory):
    new_password = password_change.new_value
    signer = ResetPasswordSigner({'user_id': user.pk})
    data = signer.get_signed_data()
    data['password'] = new_password
    data['password_confirm'] = new_password
    request = api_factory.create_post_request(data)
    response = api_view_provider.view_func(request)

    assert_response_is_ok(response)
    user.refresh_from_db()
    assert user.check_password(new_password)
예제 #9
0
def test_ok_when_custom_verification_templates_selector(
        settings_with_reset_password_verification, api_view_provider,
        api_factory, user):
    request = api_factory.create_post_request({
        'login': user.username,
    })
    with capture_sent_emails() as sent_emails, capture_time() as timer:
        response = api_view_provider.view_func(request)
    assert_response_is_ok(response)
    assert_one_email_sent(sent_emails)

    sent_email = sent_emails[0]
    assert sent_email.subject == "Generic verification link was sent"
    assert sent_email.body.startswith("Click URL to verify:")
    assert_valid_send_link_email(sent_email, user, timer)
def test_ok_when_custom_verification_templates_selector(
        settings_with_register_email_verification, user, email_change,
        api_view_provider, api_factory):
    new_email = email_change.new_value
    request = api_factory.create_post_request({
        'email': new_email,
    })
    force_authenticate(request, user=user)
    with capture_sent_emails() as sent_emails, capture_time() as timer:
        response = api_view_provider.view_func(request)
    assert_response_is_ok(response)
    assert_one_email_sent(sent_emails)
    sent_email = sent_emails[0]
    assert sent_email.subject == "Generic verification link was sent"
    assert sent_email.body.startswith("Click URL to verify:")
    assert_valid_register_email_verification_email(sent_email, user, new_email,
                                                   timer)
    user.refresh_from_db()
    assert user.email == email_change.old_value