Пример #1
0
 def test_no_templates_reset_password_disabled(self):
     user = self.create_test_user(username='******')
     request = self.create_post_request({
         'login': user.username,
     })
     with capture_sent_emails() as sent_emails:
         response = self.view_func(request)
     self.assert_response_is_not_found(response)
     self.assert_len_equals(sent_emails, 0)
Пример #2
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)
Пример #3
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 == '*****@*****.**'
Пример #4
0
def test_register_email_fail_email_already_used(
        settings_with_simple_email_based_user, user, api_view_provider,
        api_factory):
    request = api_factory.create_post_request({
        'email': user.email,
    })
    force_authenticate(request, user=user)
    with capture_sent_emails() as sent_emails:
        response = api_view_provider.view_func(request)
    assert_no_email_sent(sent_emails)
    assert_response_is_bad_request(response)
    assert "detail" in response.data
Пример #5
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)
def test_ok_when_faulty_verification_template_selector(
        settings_with_register_verification,
        api_view_provider, api_factory):
    data = _get_register_user_data(password='******')
    request = api_factory.create_post_request(data)
    with capture_sent_emails() as sent_emails, capture_time() as timer:
        response = api_view_provider.view_func(request)
    assert_response_status_is_created(response)
    user = _get_register_response_user(response)
    assert_user_state_matches_data(user, data)

    assert_one_email_sent(sent_emails)
    sent_email = sent_emails[0]
    assert_valid_register_verification_email(sent_email, user, timer)
Пример #7
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)
Пример #8
0
def test_when_user_with_foreign_key_then_register_succeeds(
        settings_with_register_verification, settings_with_user_with_user_type,
        api_view_provider, api_factory):
    data = _get_register_user_data(password='******')
    user_type = UserType.objects.create(name='custorme')
    data['user_type'] = user_type.id
    request = api_factory.create_post_request(data)
    with capture_sent_emails() as sent_emails, capture_time() as timer:
        response = api_view_provider.view_func(request)
    assert_response_status_is_created(response)
    user = _get_register_response_user(response)
    assert_user_state_matches_data(user, data)

    assert_one_email_sent(sent_emails)
    sent_email = sent_emails[0]
    assert_valid_register_verification_email(sent_email, user, timer)
def test_ok_when_custom_verification_template_selector(
        settings_with_register_verification,
        api_view_provider, api_factory):
    data = _get_register_user_data(password='******')
    request = api_factory.create_post_request(data)
    with capture_sent_emails() as sent_emails, capture_time() as timer:
        response = api_view_provider.view_func(request)
    assert_response_status_is_created(response)
    user = _get_register_response_user(response)
    assert_user_state_matches_data(user, data)

    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_verification_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