"""Fixtures for lambda testing.""" import boto3 from lambdacommon import util import pytest from tests.consts import config from tests.consts import sql @pytest.fixture() def direct_delivery_db(): """Set up environment for lambda testing.""" setup_queries = [sql.INSERT_ENCODING_QUEUE, sql.INSERT_ENCODING_QUEUE_DETAILS] teardown_queries = [sql.REMOVE_JOB_PRIORITY, sql.REMOVE_ENCODING_QUEUE_DETAILS, sql.REMOVE_ENCODING_QUEUE_ENTRY] with util.dd_connection(config.DD_MYSQL_CONN_INFO) as conn: with conn.cursor() as cursor: for query in teardown_queries: cursor.execute(query) for query in setup_queries: cursor.execute(query) conn.commit() yield for query in teardown_queries: cursor.execute(query) @pytest.fixture() def invoke_lambda(): """Invoke the lambda function.""" client = boto3.client('lambda') return client.invoke( FunctionName=config.LAMBDA_NAME, InvocationType='RequestResponse', LogType='None', Payload=b'', )