def test_missing_default_scopes(superuser):
    """Attempt to register client with missing default scopes."""
    form = RegisterForm(superuser, name='Client',
                        description='OAuth2 Client',
                        is_confidential=choice([True, False]),
                        redirect_uris='http://localhost/')

    assert form.validate() is False
    assert _('This field is required.') in form.default_scopes.errors
def test_missing_redirect_uris(superuser):
    """Attempt to register client with missing redirect URIs."""
    form = RegisterForm(superuser, name='Client',
                        description='OAuth2 Client',
                        is_confidential=choice([True, False]),
                        default_scopes='read write')

    assert form.validate() is False
    assert _('This field is required.') in form.redirect_uris.errors
def test_validate_success(superuser):
    """Register client."""
    form = RegisterForm(superuser, name='Client',
                        description='OAuth2 Client',
                        is_confidential=choice([True, False]),
                        redirect_uris='http://localhost/',
                        default_scopes='read write')

    assert form.validate() is True
def test_too_short_description(superuser):
    """Attempt to register client with too short description."""
    form = RegisterForm(superuser, name='Client',
                        description='C',
                        is_confidential=choice([True, False]),
                        redirect_uris='http://localhost/',
                        default_scopes='read write')

    assert form.validate() is False
    assert _('Field must be between 3 and 350 characters long.') in form.description.errors
def test_user_cannot_register_client(user):
    """Attempt to register a client as regular user."""
    form = RegisterForm(user, name='Client',
                        description='OAuth2 Client',
                        is_confidential=choice([True, False]),
                        redirect_uris='http://localhost/',
                        default_scopes='read write')

    with pytest.raises(ValidationError) as e_info:
        form.validate()
    assert e_info.value.args[0] == _('You do not have sufficient privileges for this operation.')
Example #6
0
def test_invalid_user_id(superuser):
    """Attempt to register client with invalid user_id."""
    bad_user_id = 42000000
    form = RegisterForm(superuser,
                        name='Client',
                        description='OAuth2 Client',
                        user_id=bad_user_id,
                        is_confidential=choice([True, False]),
                        redirect_uris='http://localhost/',
                        default_scopes='read write')

    assert form.validate() is False
    assert _('User ID "%(user_id)s" does not exist',
             user_id=bad_user_id) in form.user_id.errors