Fix sqs message retention logic (#3924)
* Fix sqs message retention logic * Apply lint to moto/sqs/models.py * Fix failed tests because of freezing time * Fix freezing time in test_publish_to_sqs_in_different_region
This commit is contained in:
parent
9e3faf7784
commit
f9e0595e12
4 changed files with 43 additions and 11 deletions
|
|
@ -46,7 +46,8 @@ def test_publish_to_sqs():
|
|||
]
|
||||
|
||||
queue = sqs_conn.get_queue("test-queue")
|
||||
message = queue.read(1)
|
||||
with freeze_time("2015-01-01 12:00:01"):
|
||||
message = queue.read(1)
|
||||
expected = MESSAGE_FROM_SQS_TEMPLATE % (
|
||||
message_to_publish,
|
||||
published_message_id,
|
||||
|
|
@ -89,7 +90,8 @@ def test_publish_to_sqs_in_different_region():
|
|||
]
|
||||
|
||||
queue = sqs_conn.get_queue("test-queue")
|
||||
message = queue.read(1)
|
||||
with freeze_time("2015-01-01 12:00:01"):
|
||||
message = queue.read(1)
|
||||
expected = MESSAGE_FROM_SQS_TEMPLATE % (
|
||||
message_to_publish,
|
||||
published_message_id,
|
||||
|
|
|
|||
|
|
@ -46,7 +46,8 @@ def test_publish_to_sqs():
|
|||
published_message_id = published_message["MessageId"]
|
||||
|
||||
queue = sqs_conn.get_queue_by_name(QueueName="test-queue")
|
||||
messages = queue.receive_messages(MaxNumberOfMessages=1)
|
||||
with freeze_time("2015-01-01 12:00:01"):
|
||||
messages = queue.receive_messages(MaxNumberOfMessages=1)
|
||||
expected = MESSAGE_FROM_SQS_TEMPLATE % (message, published_message_id, "us-east-1")
|
||||
acquired_message = re.sub(
|
||||
r"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z",
|
||||
|
|
@ -77,7 +78,8 @@ def test_publish_to_sqs_raw():
|
|||
with freeze_time("2015-01-01 12:00:00"):
|
||||
topic.publish(Message=message)
|
||||
|
||||
messages = queue.receive_messages(MaxNumberOfMessages=1)
|
||||
with freeze_time("2015-01-01 12:00:01"):
|
||||
messages = queue.receive_messages(MaxNumberOfMessages=1)
|
||||
messages[0].body.should.equal(message)
|
||||
|
||||
|
||||
|
|
@ -279,7 +281,8 @@ def test_publish_to_sqs_dump_json():
|
|||
published_message_id = published_message["MessageId"]
|
||||
|
||||
queue = sqs_conn.get_queue_by_name(QueueName="test-queue")
|
||||
messages = queue.receive_messages(MaxNumberOfMessages=1)
|
||||
with freeze_time("2015-01-01 12:00:01"):
|
||||
messages = queue.receive_messages(MaxNumberOfMessages=1)
|
||||
|
||||
escaped = message.replace('"', '\\"')
|
||||
expected = MESSAGE_FROM_SQS_TEMPLATE % (escaped, published_message_id, "us-east-1")
|
||||
|
|
@ -314,7 +317,8 @@ def test_publish_to_sqs_in_different_region():
|
|||
published_message_id = published_message["MessageId"]
|
||||
|
||||
queue = sqs_conn.get_queue_by_name(QueueName="test-queue")
|
||||
messages = queue.receive_messages(MaxNumberOfMessages=1)
|
||||
with freeze_time("2015-01-01 12:00:01"):
|
||||
messages = queue.receive_messages(MaxNumberOfMessages=1)
|
||||
expected = MESSAGE_FROM_SQS_TEMPLATE % (message, published_message_id, "us-west-1")
|
||||
acquired_message = re.sub(
|
||||
r"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z",
|
||||
|
|
|
|||
|
|
@ -313,6 +313,29 @@ def test_message_retention_period():
|
|||
assert len(messages) == 0
|
||||
|
||||
|
||||
@mock_sqs
|
||||
def test_queue_retention_period():
|
||||
sqs = boto3.resource("sqs", region_name="us-east-1")
|
||||
queue = sqs.create_queue(
|
||||
QueueName="blah", Attributes={"MessageRetentionPeriod": "3"}
|
||||
)
|
||||
|
||||
time.sleep(5)
|
||||
|
||||
queue.send_message(
|
||||
MessageBody="derp",
|
||||
MessageAttributes={
|
||||
"SOME_Valid.attribute-Name": {
|
||||
"StringValue": "1493147359900",
|
||||
"DataType": "Number",
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
messages = queue.receive_messages()
|
||||
assert len(messages) == 1
|
||||
|
||||
|
||||
@mock_sqs
|
||||
def test_message_with_invalid_attributes():
|
||||
sqs = boto3.resource("sqs", region_name="us-east-1")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue