mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-22 16:31:15 -05:00
Backfill missing tests for requires_auth function
This commit is contained in:
@@ -6,7 +6,7 @@ import pytest
|
|||||||
from flask import current_app, g, request
|
from flask import current_app, g, request
|
||||||
from notifications_python_client.authentication import create_jwt_token
|
from notifications_python_client.authentication import create_jwt_token
|
||||||
|
|
||||||
from app import api_user
|
from app import db
|
||||||
from app.authentication.auth import (
|
from app.authentication.auth import (
|
||||||
GENERAL_TOKEN_ERROR_MESSAGE,
|
GENERAL_TOKEN_ERROR_MESSAGE,
|
||||||
AuthError,
|
AuthError,
|
||||||
@@ -288,14 +288,28 @@ def test_requires_auth_returns_error_when_service_inactive(
|
|||||||
assert exc.value.short_message == 'Invalid token: service is archived'
|
assert exc.value.short_message == 'Invalid token: service is archived'
|
||||||
|
|
||||||
|
|
||||||
def test_requires_auth_should_attach_the_current_api_key_to_current_app(
|
def test_requires_auth_should_assign_global_variables(
|
||||||
client,
|
client,
|
||||||
sample_api_key,
|
sample_api_key,
|
||||||
service_jwt_token,
|
service_jwt_token,
|
||||||
):
|
):
|
||||||
request.headers = {'Authorization': 'Bearer {}'.format(service_jwt_token)}
|
request.headers = {'Authorization': 'Bearer {}'.format(service_jwt_token)}
|
||||||
requires_auth()
|
requires_auth()
|
||||||
assert str(api_user.id) == str(sample_api_key.id)
|
assert g.api_user.id == sample_api_key.id
|
||||||
|
assert g.service_id == sample_api_key.service_id
|
||||||
|
assert g.authenticated_service.id == str(sample_api_key.service_id)
|
||||||
|
|
||||||
|
|
||||||
|
def test_requires_auth_errors_if_service_has_no_api_keys(
|
||||||
|
client,
|
||||||
|
sample_api_key,
|
||||||
|
service_jwt_token,
|
||||||
|
):
|
||||||
|
db.session.delete(sample_api_key)
|
||||||
|
request.headers = {'Authorization': 'Bearer {}'.format(service_jwt_token)}
|
||||||
|
with pytest.raises(AuthError) as exc:
|
||||||
|
requires_auth()
|
||||||
|
assert exc.value.short_message == 'Invalid token: service has no API keys'
|
||||||
|
|
||||||
|
|
||||||
def test_requires_auth_should_cache_service_and_api_key_lookups(
|
def test_requires_auth_should_cache_service_and_api_key_lookups(
|
||||||
|
|||||||
Reference in New Issue
Block a user