"""Utilities to create mock SQS messages.""" from uuid import uuid4 from moto import mock_aws import json from salessheets.connectors import sqs def create_sqs_message(): """Create a fake SQS message. Returns: JSONMessageExt: new SQS message instance """ payload = { 'release_id': '123456789', } message_attributes = { 'Correlation-Id': { 'data_type': 'String', 'string_value': str(uuid4()) } } mock_message = json.dumps({ "product_id": [ "1" ], "output_type": "single", "job_id": "1234214", "localized_template_type_id": 2 }) return mock_message def put_sqs_messages(sqs_queue, number_of_messages): """Put a number of fake SQS messages into the queue. Args: sqs_queue: SQS queue (or moto SQS queue mock) to write the messages to number_of_messages (int): number of messages to be written """ connection = sqs.get_connection( access_key_id='test', secret_access_key='test_secret') for i in range(0, number_of_messages): message = create_sqs_message() connection.send_message( QueueUrl=sqs_queue, MessageBody=message)