from _pytest.fixtures import SubRequest from aws_testing_utils import lambda_handler, s3_handler, step_function_handler from aws_testing_utils.lambda_handler import LambdaHandler from aws_testing_utils.s3_handler import S3Handler from aws_testing_utils.step_function_handler import StepFunctionHandler import pytest from tests.utils.request_handler import APIRequestHandler from tests.utils.secrets_manager import get_m2m_access_token @pytest.fixture def lambda_client() -> LambdaHandler: return lambda_handler.LambdaHandler() @pytest.fixture def s3_client() -> S3Handler: return s3_handler.S3Handler() @pytest.fixture def step_function_client(request: SubRequest) -> StepFunctionHandler: function_name: str = request.param return step_function_handler.StepFunctionHandler(function_name) @pytest.fixture def api_client() -> APIRequestHandler: return APIRequestHandler() @pytest.fixture def api_client_with_token() -> APIRequestHandler: token = get_m2m_access_token() headers = {'Authorization': f'Bearer {token}', 'Content-Type': 'application/json'} return APIRequestHandler(default_headers=headers)