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.')
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