Skip to content

Commit

Permalink
update submit msg function
Browse files Browse the repository at this point in the history
  • Loading branch information
RamuniN committed Jan 10, 2024
1 parent 0ae80fc commit 6db0b8a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 47 deletions.
26 changes: 7 additions & 19 deletions fsd_utils/services/aws.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,25 +97,13 @@ def submit_single_message(

print(f"Attempting to place message on queue '{queue_url}'.")

# TODO: (FS-3703) Revisit this part after AWS migration
# 'MessageGroupId' & 'MessageDeduplicationId' are mandatary parameters to be provided on PAAS,
# while they are not acceptable parameters on localstack queue
if (
"docker" in queue_url or "local" in queue_url
): # if running on localstack
response = self.client.send_message(
QueueUrl=queue_url,
MessageBody=json.dumps(message),
MessageAttributes=SQS_CUSTOM_ATTRIBUTES,
)
else:
response = self.client.send_message(
QueueUrl=queue_url,
MessageBody=json.dumps(message),
MessageAttributes=SQS_CUSTOM_ATTRIBUTES,
MessageGroupId=message_group_id,
MessageDeduplicationId=message_deduplication_id,
)
response = self.client.send_message(
QueueUrl=queue_url,
MessageBody=json.dumps(message),
MessageAttributes=SQS_CUSTOM_ATTRIBUTES,
MessageGroupId=message_group_id,
MessageDeduplicationId=message_deduplication_id,
)
message_id = response["MessageId"]
print(f"Message (id: {message_id}) submitted to queue: {queue_url}.")
return message_id
Expand Down
29 changes: 1 addition & 28 deletions tests/test_sqsclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,34 +52,7 @@ def test_get_queue_url(self):
self.assertEqual(actual_queue_url, expected_queue_url)
self.sqs_client.get_queue_url.assert_called_with(QueueName=queue_name)

def test_submit_single_message_localstack(self):
# Mock data & responses
queue_url = "http://localhost:4576/queue/test_queue"
message = {"key": "value"}
expected_message_id = "test_message_id"
self.sqs_client.send_message.return_value = {"MessageId": expected_message_id}

with patch("fsd_utils.services.aws.datetime") as mock_datetime:
datetime_now = datetime(2023, 1, 1, 12, 0, 0)
mock_datetime.now.return_value = datetime_now

# call to the function
actual_message_id = self.sqs.submit_single_message(queue_url, message)

# Assert responses
self.assertEqual(actual_message_id, expected_message_id)
self.sqs_client.send_message.assert_called_with(
QueueUrl=queue_url,
MessageBody=json.dumps(message),
MessageAttributes={
"message_created_at": {
"StringValue": str(datetime_now),
"DataType": "String",
}
},
)

def test_submit_single_message_aws(self):
def test_submit_single_message(self):
# Mock data & responses
queue_url = "https://sqs.us-west-1.amazonaws.com/123456789012/test_queue"
message = {"key": "value"}
Expand Down

0 comments on commit 6db0b8a

Please sign in to comment.