* Fix #3996 * Don't delete any message when duplicate handles
This commit is contained in:
parent
05cdcbcedc
commit
00be464c05
2 changed files with 47 additions and 4 deletions
|
|
@ -1714,6 +1714,34 @@ def test_send_message_batch():
|
|||
)
|
||||
|
||||
|
||||
@mock_sqs
|
||||
def test_delete_message_batch_with_duplicates():
|
||||
client = boto3.client("sqs", region_name="us-east-1")
|
||||
response = client.create_queue(QueueName="test-queue")
|
||||
queue_url = response["QueueUrl"]
|
||||
client.send_message(QueueUrl=queue_url, MessageBody="coucou")
|
||||
|
||||
messages = client.receive_message(
|
||||
QueueUrl=queue_url, WaitTimeSeconds=0, VisibilityTimeout=0
|
||||
)["Messages"]
|
||||
assert messages, "at least one msg"
|
||||
entries = [
|
||||
{"Id": msg["MessageId"], "ReceiptHandle": msg["ReceiptHandle"]}
|
||||
for msg in [messages[0], messages[0]]
|
||||
]
|
||||
|
||||
with pytest.raises(ClientError) as e:
|
||||
client.delete_message_batch(QueueUrl=queue_url, Entries=entries)
|
||||
ex = e.value
|
||||
assert ex.response["Error"]["Code"] == "BatchEntryIdsNotDistinct"
|
||||
|
||||
# no messages are deleted
|
||||
messages = client.receive_message(QueueUrl=queue_url, WaitTimeSeconds=0).get(
|
||||
"Messages", []
|
||||
)
|
||||
assert messages, "message still in the queue"
|
||||
|
||||
|
||||
@mock_sqs
|
||||
def test_message_attributes_in_receive_message():
|
||||
sqs = boto3.resource("sqs", region_name="us-east-1")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue