from unittest.mock import MagicMock, patch from mypy_boto3_sqs.type_defs import MessageTypeDef from src.worker.clients.sqs import delete_message, release_message _MESSAGE: MessageTypeDef = {"MessageId": "m1", "ReceiptHandle": "rh-xyz", "Body": "body"} class TestReleaseMessage: def test_sets_visibility_timeout_to_zero(self) -> None: mock_sqs = MagicMock() with patch("src.worker.clients.sqs.sqs", mock_sqs): release_message(queue_url="http://q", message=_MESSAGE) mock_sqs.change_message_visibility.assert_called_once_with( QueueUrl="http://q", ReceiptHandle="rh-xyz", VisibilityTimeout=0, ) class TestDeleteMessage: def test_passes_receipt_handle(self) -> None: mock_sqs = MagicMock() with patch("src.worker.clients.sqs.sqs", mock_sqs): delete_message(queue_url="http://q", message=_MESSAGE) mock_sqs.delete_message.assert_called_once_with(QueueUrl="http://q", ReceiptHandle="rh-xyz")