Techdebt: Replace sure with regular assertions in SQS (#6634)
This commit is contained in:
parent
f297c4216f
commit
1626c35ac5
@ -1,22 +1,18 @@
|
||||
"""Test different server responses."""
|
||||
import datetime
|
||||
import re
|
||||
import sure # noqa # pylint: disable=unused-import
|
||||
import threading
|
||||
import time
|
||||
|
||||
import moto.server as server
|
||||
|
||||
"""
|
||||
Test the different server responses
|
||||
"""
|
||||
|
||||
|
||||
def test_sqs_list_identities():
|
||||
backend = server.create_backend_app("sqs")
|
||||
test_client = backend.test_client()
|
||||
|
||||
res = test_client.get("/?Action=ListQueues")
|
||||
res.data.should.contain(b"ListQueuesResponse")
|
||||
assert b"ListQueuesResponse" in res.data
|
||||
|
||||
# Make sure that we can receive messages from queues whose name contains dots (".")
|
||||
# The AWS API mandates that the names of FIFO queues use the suffix ".fifo"
|
||||
@ -35,11 +31,11 @@ def test_sqs_list_identities():
|
||||
)
|
||||
|
||||
message = re.search("<Body>(.*?)</Body>", res.data.decode("utf-8")).groups()[0]
|
||||
message.should.equal("test-message")
|
||||
assert message == "test-message"
|
||||
|
||||
res = test_client.get("/?Action=ListQueues&QueueNamePrefix=other")
|
||||
res.data.should.contain(b"otherqueue.fifo")
|
||||
res.data.should_not.contain(b"testqueue")
|
||||
assert b"otherqueue.fifo" in res.data
|
||||
assert b"testqueue" not in res.data
|
||||
|
||||
|
||||
def test_messages_polling():
|
||||
@ -91,7 +87,8 @@ def test_no_messages_polling_timeout():
|
||||
wait_seconds = 5
|
||||
start = datetime.datetime.utcnow()
|
||||
test_client.get(
|
||||
f"/123/{queue_name}?Action=ReceiveMessage&MaxNumberOfMessages=1&WaitTimeSeconds={wait_seconds}"
|
||||
f"/123/{queue_name}?Action=ReceiveMessage&"
|
||||
f"MaxNumberOfMessages=1&WaitTimeSeconds={wait_seconds}"
|
||||
)
|
||||
end = datetime.datetime.utcnow()
|
||||
duration = end - start
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,13 @@
|
||||
import boto3
|
||||
|
||||
import json
|
||||
import sure # noqa # pylint: disable=unused-import
|
||||
from moto import mock_sqs, mock_cloudformation
|
||||
from moto.core import DEFAULT_ACCOUNT_ID as ACCOUNT_ID
|
||||
from string import Template
|
||||
from random import randint
|
||||
from uuid import uuid4
|
||||
|
||||
import boto3
|
||||
|
||||
from moto import mock_sqs, mock_cloudformation
|
||||
from moto.core import DEFAULT_ACCOUNT_ID as ACCOUNT_ID
|
||||
|
||||
simple_queue = Template(
|
||||
"""{
|
||||
"AWSTemplateFormatVersion": "2010-09-09",
|
||||
@ -56,13 +56,13 @@ def test_describe_stack_subresources():
|
||||
cf.create_stack(StackName=stack_name, TemplateBody=template_body)
|
||||
|
||||
queue_urls = client.list_queues(QueueNamePrefix=q_name)["QueueUrls"]
|
||||
assert any([f"{ACCOUNT_ID}/{q_name}" in url for url in queue_urls])
|
||||
assert any({f"{ACCOUNT_ID}/{q_name}" in url for url in queue_urls})
|
||||
|
||||
stack = res.Stack(stack_name)
|
||||
for s in stack.resource_summaries.all():
|
||||
s.resource_type.should.equal("AWS::SQS::Queue")
|
||||
s.logical_id.should.equal("QueueGroup")
|
||||
s.physical_resource_id.should.contain(f"/{q_name}")
|
||||
assert s.resource_type == "AWS::SQS::Queue"
|
||||
assert s.logical_id == "QueueGroup"
|
||||
assert f"/{q_name}" in s.physical_resource_id
|
||||
|
||||
|
||||
@mock_sqs
|
||||
@ -77,14 +77,14 @@ def test_list_stack_resources():
|
||||
cf.create_stack(StackName=stack_name, TemplateBody=template_body)
|
||||
|
||||
queue_urls = client.list_queues(QueueNamePrefix=q_name)["QueueUrls"]
|
||||
assert any([f"{ACCOUNT_ID}/{q_name}" in url for url in queue_urls])
|
||||
assert any({f"{ACCOUNT_ID}/{q_name}" in url for url in queue_urls})
|
||||
|
||||
queue = cf.list_stack_resources(StackName=stack_name)["StackResourceSummaries"][0]
|
||||
|
||||
queue.should.have.key("ResourceType").equal("AWS::SQS::Queue")
|
||||
queue.should.have.key("LogicalResourceId").should.equal("QueueGroup")
|
||||
assert queue["ResourceType"] == "AWS::SQS::Queue"
|
||||
assert queue["LogicalResourceId"] == "QueueGroup"
|
||||
expected_url = f"https://sqs.us-east-1.amazonaws.com/{ACCOUNT_ID}/{q_name}"
|
||||
queue.should.have.key("PhysicalResourceId").should.equal(expected_url)
|
||||
assert queue["PhysicalResourceId"] == expected_url
|
||||
|
||||
|
||||
@mock_sqs
|
||||
@ -103,7 +103,7 @@ def test_create_from_cloudformation_json_with_tags():
|
||||
queue_url = [url for url in all_urls if url.endswith(q_name)][0]
|
||||
|
||||
queue_tags = client.list_queue_tags(QueueUrl=queue_url)["Tags"]
|
||||
queue_tags.should.equal({"keyname1": "value1", "keyname2": "value2"})
|
||||
assert queue_tags == {"keyname1": "value1", "keyname2": "value2"}
|
||||
|
||||
|
||||
@mock_cloudformation
|
||||
@ -127,11 +127,11 @@ def test_update_stack():
|
||||
|
||||
client = boto3.client("sqs", region_name="us-west-1")
|
||||
queues = client.list_queues(QueueNamePrefix=q_name)["QueueUrls"]
|
||||
queues.should.have.length_of(1)
|
||||
assert len(queues) == 1
|
||||
attrs = client.get_queue_attributes(QueueUrl=queues[0], AttributeNames=["All"])[
|
||||
"Attributes"
|
||||
]
|
||||
attrs["VisibilityTimeout"].should.equal("60")
|
||||
assert attrs["VisibilityTimeout"] == "60"
|
||||
|
||||
# when updating
|
||||
sqs_template["Resources"]["QueueGroup"]["Properties"]["VisibilityTimeout"] = 100
|
||||
@ -140,11 +140,11 @@ def test_update_stack():
|
||||
|
||||
# then the attribute should be updated
|
||||
queues = client.list_queues(QueueNamePrefix=q_name)["QueueUrls"]
|
||||
queues.should.have.length_of(1)
|
||||
assert len(queues) == 1
|
||||
attrs = client.get_queue_attributes(QueueUrl=queues[0], AttributeNames=["All"])[
|
||||
"Attributes"
|
||||
]
|
||||
attrs["VisibilityTimeout"].should.equal("100")
|
||||
assert attrs["VisibilityTimeout"] == "100"
|
||||
|
||||
|
||||
@mock_cloudformation
|
||||
@ -167,14 +167,14 @@ def test_update_stack_and_remove_resource():
|
||||
cf.create_stack(StackName=stack_name, TemplateBody=sqs_template_json)
|
||||
|
||||
client = boto3.client("sqs", region_name="us-west-1")
|
||||
client.list_queues(QueueNamePrefix=q_name)["QueueUrls"].should.have.length_of(1)
|
||||
assert len(client.list_queues(QueueNamePrefix=q_name)["QueueUrls"]) == 1
|
||||
|
||||
sqs_template["Resources"].pop("QueueGroup")
|
||||
sqs_template_json = json.dumps(sqs_template)
|
||||
cf.update_stack(StackName=stack_name, TemplateBody=sqs_template_json)
|
||||
|
||||
# No queues exist, so the key is not passed through
|
||||
client.list_queues(QueueNamePrefix=q_name).shouldnt.have.key("QueueUrls")
|
||||
assert "QueueUrls" not in client.list_queues(QueueNamePrefix=q_name)
|
||||
|
||||
|
||||
@mock_cloudformation
|
||||
@ -190,7 +190,7 @@ def test_update_stack_and_add_resource():
|
||||
cf.create_stack(StackName=stack_name, TemplateBody=sqs_template_json)
|
||||
|
||||
client = boto3.client("sqs", region_name="us-west-1")
|
||||
client.list_queues(QueueNamePrefix=q_name).shouldnt.have.key("QueueUrls")
|
||||
assert "QueueUrls" not in client.list_queues(QueueNamePrefix=q_name)
|
||||
|
||||
sqs_template = {
|
||||
"AWSTemplateFormatVersion": "2010-09-09",
|
||||
@ -204,7 +204,7 @@ def test_update_stack_and_add_resource():
|
||||
sqs_template_json = json.dumps(sqs_template)
|
||||
cf.update_stack(StackName=stack_name, TemplateBody=sqs_template_json)
|
||||
|
||||
client.list_queues(QueueNamePrefix=q_name)["QueueUrls"].should.have.length_of(1)
|
||||
assert len(client.list_queues(QueueNamePrefix=q_name)["QueueUrls"]) == 1
|
||||
|
||||
|
||||
@mock_sqs
|
||||
@ -223,4 +223,4 @@ def test_create_queue_passing_integer_as_name():
|
||||
cf.create_stack(StackName=stack_name, TemplateBody=template_body)
|
||||
|
||||
queue_urls = client.list_queues(QueueNamePrefix=q_name[0:6])["QueueUrls"]
|
||||
queue_urls.should.have.length_of(1)
|
||||
assert len(queue_urls) == 1
|
||||
|
@ -1,8 +1,9 @@
|
||||
import boto3
|
||||
import json
|
||||
import time
|
||||
import uuid
|
||||
|
||||
import boto3
|
||||
|
||||
from moto import mock_lambda, mock_sqs, mock_logs
|
||||
from tests.markers import requires_docker
|
||||
from tests.test_awslambda.test_lambda import get_test_zip_file1, get_role_name
|
||||
@ -132,8 +133,8 @@ def test_invoke_function_from_sqs_fifo_queue():
|
||||
try:
|
||||
body = json.loads(event.get("message"))
|
||||
atts = body["Records"][0]["attributes"]
|
||||
atts.should.have.key("MessageGroupId").equals("mg1")
|
||||
atts.should.have.key("MessageDeduplicationId")
|
||||
assert atts["MessageGroupId"] == "mg1"
|
||||
assert "MessageDeduplicationId" in atts
|
||||
return
|
||||
except: # noqa: E722 Do not use bare except
|
||||
pass
|
||||
|
@ -1,8 +1,10 @@
|
||||
import unittest
|
||||
import boto3
|
||||
from moto import mock_sts, mock_sqs
|
||||
from uuid import uuid4
|
||||
|
||||
import boto3
|
||||
|
||||
from moto import mock_sts, mock_sqs
|
||||
|
||||
|
||||
class TestStsAssumeRole(unittest.TestCase):
|
||||
@mock_sqs
|
||||
@ -14,7 +16,7 @@ class TestStsAssumeRole(unittest.TestCase):
|
||||
|
||||
# verify function exists
|
||||
all_urls = sqs.list_queues()["QueueUrls"]
|
||||
all_urls.should.contain(queue_url)
|
||||
assert queue_url in all_urls
|
||||
|
||||
# assume role to another aws account
|
||||
account_b = "111111111111"
|
||||
@ -33,4 +35,4 @@ class TestStsAssumeRole(unittest.TestCase):
|
||||
)
|
||||
|
||||
# client2 belongs to another account, where there are no queues
|
||||
client2.list_queues().shouldnt.have.key("QueueUrls")
|
||||
assert "QueueUrls" not in client2.list_queues()
|
||||
|
Loading…
Reference in New Issue
Block a user