Пример #1
0
def test_register_returns_errors_when_validation_fails():
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = invalid_form()

    result = controller.register()

    assert result == {"form": "invalid form"}
Пример #2
0
def test_register_form_redirects_when_logged_in(authn_policy):
    request = DummyRequest()
    authn_policy.authenticated_userid.return_value = "acct:[email protected]"
    controller = RegisterController(request)


    with pytest.raises(httpexceptions.HTTPRedirection):
        controller.register_form()
Пример #3
0
def test_register_form_redirects_when_logged_in(authn_policy):
    request = DummyRequest()
    authn_policy.authenticated_userid.return_value = "acct:[email protected]"
    controller = RegisterController(request)


    with pytest.raises(httpexceptions.HTTPRedirection):
        controller.register_form()
Пример #4
0
def test_register_returns_errors_when_validation_fails():
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = invalid_form()

    result = controller.register()

    assert result == {"form": "invalid form"}
Пример #5
0
def test_register_no_event_when_validation_fails(event, notify):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = invalid_form()

    controller.register()

    assert not event.called
    assert not notify.called
Пример #6
0
def test_register_no_event_when_validation_fails(event, notify):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = invalid_form()

    controller.register()

    assert not event.called
    assert not notify.called
Пример #7
0
def test_register_adds_new_user_to_session(user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })

    controller.register()

    assert user_model.return_value in request.db.added
Пример #8
0
def test_register_adds_new_user_to_session(user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })

    controller.register()

    assert user_model.return_value in request.db.added
Пример #9
0
def test_register_event_redirects_on_success():
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })

    result = controller.register()

    assert isinstance(result, httpexceptions.HTTPRedirection)
Пример #10
0
def test_register_event_redirects_on_success():
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })

    result = controller.register()

    assert isinstance(result, httpexceptions.HTTPRedirection)
Пример #11
0
def test_register_sends_activation_email(activation_email,
                                         mailer):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })

    controller.register()

    assert activation_email.return_value in mailer.outbox
Пример #12
0
def test_registration_does_not_autologin(config, authn_policy):
    configure(config)

    request = DummyRequest()
    request.method = 'POST'
    request.POST.update({'email': '*****@*****.**',
                         'password': '******',
                         'username': '******'})

    ctrl = RegisterController(request)
    ctrl.register()

    assert not authn_policy.remember.called
Пример #13
0
def test_register_sends_activation_email(activation_email,
                                         mailer):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })

    controller.register()

    assert activation_email.return_value in mailer.outbox
Пример #14
0
def test_register_event_when_validation_succeeds(event, notify, user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })
    new_user = user_model.return_value

    controller.register()

    event.assert_called_with(request, new_user)
    notify.assert_called_with(event.return_value)
Пример #15
0
def test_register_event_when_validation_succeeds(event, notify, user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })
    new_user = user_model.return_value

    controller.register()

    event.assert_called_with(request, new_user)
    notify.assert_called_with(event.return_value)
Пример #16
0
def test_register_generates_activation_email_from_user(activation_email,
                                                       user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })
    new_user = user_model.return_value

    controller.register()

    activation_email.assert_called_with(request, new_user)
Пример #17
0
def test_register_creates_new_activation(activation_model,
                                         user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })
    new_user = user_model.return_value

    controller.register()

    assert new_user.activation == activation_model.return_value
Пример #18
0
def test_register_creates_new_activation(activation_model,
                                         user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })
    new_user = user_model.return_value

    controller.register()

    assert new_user.activation == activation_model.return_value
Пример #19
0
def test_register_generates_activation_email_from_user(activation_email,
                                                       user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })
    new_user = user_model.return_value

    controller.register()

    activation_email.assert_called_with(request, new_user)
Пример #20
0
def test_register_creates_user_from_form_data(user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
        "random_other_field": "something else",
    })

    controller.register()

    user_model.assert_called_with(username="******",
                                  email="*****@*****.**",
                                  password="******")
Пример #21
0
def test_register_creates_user_from_form_data(user_model):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
        "random_other_field": "something else",
    })

    controller.register()

    user_model.assert_called_with(username="******",
                                  email="*****@*****.**",
                                  password="******")
Пример #22
0
def test_registration_does_not_autologin(config, authn_policy):
    configure(config)

    request = DummyRequest()
    request.method = 'POST'
    request.POST.update({
        'email': '*****@*****.**',
        'password': '******',
        'username': '******'
    })

    ctrl = RegisterController(request)
    ctrl.register()

    assert not authn_policy.remember.called
Пример #23
0
def test_register_form_redirects_when_logged_in(authn_policy):
    request = DummyRequest()
    authn_policy.authenticated_userid.return_value = "acct:[email protected]"

    result = RegisterController(request).register_form()

    assert isinstance(result, httpexceptions.HTTPRedirection)
Пример #24
0
def test_activate_returns_not_found_if_user_not_found(user_model):
    request = DummyRequest(matchdict={'id': '123', 'code': 'abc456'})
    user_model.get_by_activation.return_value = None

    result = RegisterController(request).activate()

    assert isinstance(result, httpexceptions.HTTPNotFound)
Пример #25
0
def test_activate_no_event_on_failure(event, notify):
    request = DummyRequest()

    RegisterController(request).activate()

    assert not event.called
    assert not notify.called
Пример #26
0
def test_register_returns_errors_when_validation_fails(form_validator):
    request = DummyRequest(method='POST')
    form_validator.return_value = ({"errors": "BANG!"}, None)

    result = RegisterController(request).register()

    assert result == {"errors": "BANG!"}
Пример #27
0
def test_activate_looks_up_user_by_activation(activation_model, user_model):
    request = DummyRequest(matchdict={'id': '123', 'code': 'abc456'})
    activation = activation_model.get_by_code.return_value

    result = RegisterController(request).activate()

    user_model.get_by_activation.assert_called_with(activation)
Пример #28
0
def test_activate_redirects_on_success(user_model):
    request = DummyRequest(matchdict={'id': '123', 'code': 'abc456'})
    giraffe = FakeUser(id=123)
    user_model.get_by_activation.return_value = giraffe

    result = RegisterController(request).activate()

    assert isinstance(result, httpexceptions.HTTPRedirection)
Пример #29
0
def test_register_no_event_when_validation_fails(event, form_validator,
                                                 notify):
    request = DummyRequest(method='POST')
    form_validator.return_value = ({"errors": "Kablooey!"}, None)

    RegisterController(request).register()

    assert not event.called
    assert not notify.called
Пример #30
0
def test_activate_event_when_validation_succeeds(event, notify, user_model):
    request = DummyRequest(matchdict={'id': '123', 'code': 'abc456'})
    giraffe = FakeUser(id=123)
    user_model.get_by_activation.return_value = giraffe

    RegisterController(request).activate()

    event.assert_called_with(request, giraffe)
    notify.assert_called_with(event.return_value)
Пример #31
0
def test_activate_activates_user(activation_model, user_model):
    request = DummyRequest(matchdict={'id': '123', 'code': 'abc456'})
    activation = activation_model.get_by_code.return_value
    giraffe = FakeUser(id=123)
    user_model.get_by_activation.return_value = giraffe

    result = RegisterController(request).activate()

    assert activation in request.db.deleted
Пример #32
0
def test_register_sends_email(activation_email, mailer):
    request = DummyRequest(method='POST')
    controller = RegisterController(request)
    controller.form = form_validating_to({
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })
    activation_email.return_value = {
        'recipients': ['*****@*****.**'],
        'subject': 'subject',
        'body': 'body'
    }

    controller.register()

    mailer.send.assert_called_once_with(request,
                                        recipients=['*****@*****.**'],
                                        subject='subject',
                                        body='body')
Пример #33
0
def test_register_event_redirects_on_success(form_validator):
    request = DummyRequest(method='POST')
    form_validator.return_value = (None, {
        "username": "******",
        "email": "*****@*****.**",
        "password": "******",
    })

    result = RegisterController(request).register()

    assert isinstance(result, httpexceptions.HTTPRedirection)
Пример #34
0
def test_activate_returns_not_found_if_code_missing():
    request = DummyRequest(matchdict={'id': '123'})

    result = RegisterController(request).activate()

    assert isinstance(result, httpexceptions.HTTPNotFound)
Пример #35
0
def test_activate_returns_not_found_if_id_not_integer():
    request = DummyRequest(matchdict={'id': 'abc', 'code': 'abc456'})

    result = RegisterController(request).activate()

    assert isinstance(result, httpexceptions.HTTPNotFound)
Пример #36
0
def test_activate_looks_up_activation_by_code(activation_model):
    request = DummyRequest(matchdict={'id': '123', 'code': 'abc456'})

    result = RegisterController(request).activate()

    activation_model.get_by_code.assert_called_with('abc456')