"""Integration tests for GET /identity/self/roles endpoint.""" import requests from mypy_boto3_dynamodb import DynamoDBClient from tests.integration import config from tests.integration.api.identity.helpers import ( assert_get_identity_roles, assert_get_identity_roles_empty, ) def test_get_my_identity_roles_empty( default_boto_client: DynamoDBClient, bearer_token_pdptest_user: str ) -> None: """GET /identity/self/roles/ endpoint (empty database).""" url = f"{config.QA_BASE_URL}/identity/self/roles/" assert_get_identity_roles_empty(url=url, bearer_token=bearer_token_pdptest_user) def test_get_my_identity_roles( default_boto_client: DynamoDBClient, bearer_token_pdptest_user: str, bearer_token_pdptest_user_identity_uuid: str, ) -> None: """GET /identity/self/roles/ endpoint.""" assert bearer_token_pdptest_user url = f"{config.QA_BASE_URL}/identity/self/roles/" assert_get_identity_roles( url, default_boto_client, bearer_token_pdptest_user, bearer_token_pdptest_user_identity_uuid, ) def test_get_my_identity_roles_malformed_jwt( default_boto_client: DynamoDBClient, ) -> None: """GET /identity/self/roles/ endpoint with a malformed JWT.""" url = f"{config.QA_BASE_URL}/identity/self/roles/" response = requests.get(url, headers={"Authorization": "bad token"}) assert response.status_code == 401, f"Response: {response.text}" def test_get_my_identity_roles_no_auth( default_boto_client: DynamoDBClient, ) -> None: """GET /identity/self/roles/ endpoint with no auth header.""" url = f"{config.QA_BASE_URL}/identity/self/roles/" response = requests.get(url, headers={}) assert response.status_code == 401, f"Response: {response.text}"