"""Integration tests for lambda function.""" import json from typing import Any import boto3 from src.config import ENVIRONMENT, LAMBDA_NAME def get_lambda_client(aws_region: str) -> Any: return boto3.client("lambda", region_name=aws_region) def invoke_lambda( lambda_client: Any, function_name: str, payload: dict[Any, Any] ) -> Any: response = lambda_client.invoke( FunctionName=function_name, InvocationType="RequestResponse", Payload=json.dumps(payload), ) return json.loads(response["Payload"].read().decode("utf-8")) def test_invoke_lambda(get_aws_region: str) -> None: """Assert lambda action.""" function_name = f"{ENVIRONMENT}-{LAMBDA_NAME}" execution_name = "test_execution" export_id = "test_export" payload = { "execution_name": execution_name, "export_id": export_id, } lambda_client = get_lambda_client(get_aws_region) response = invoke_lambda(lambda_client, function_name, payload) assert response["execution_name"] == execution_name assert response["export_id"] == export_id