diff --git a/moto/sqs/responses.py b/moto/sqs/responses.py index 9351e8220..8fd5cf832 100644 --- a/moto/sqs/responses.py +++ b/moto/sqs/responses.py @@ -91,7 +91,14 @@ class SQSResponse(BaseResponse): request_url = urlparse(self.uri) queue_name = self._get_param("QueueName") - queue = self.sqs_backend.create_queue(queue_name, self.tags, **self.attribute) + tags = {} + tags_param = self._get_multi_param("Tag") + # Returns [{'Key': 'Foo', 'Value': 'Bar'}] + if tags_param: + for tag in tags_param: + tags[tag["Key"]] = tag["Value"] + + queue = self.sqs_backend.create_queue(queue_name, tags, **self.attribute) template = self.response_template(CREATE_QUEUE_RESPONSE) return template.render(queue_url=queue.url(request_url)) diff --git a/tests/test_sqs/test_sqs.py b/tests/test_sqs/test_sqs.py index b0d8cb79c..cd8b19f1a 100644 --- a/tests/test_sqs/test_sqs.py +++ b/tests/test_sqs/test_sqs.py @@ -167,12 +167,13 @@ def test_create_queue_kms(): def test_create_queue_with_tags(): client = boto3.client("sqs", region_name="us-east-1") response = client.create_queue( - QueueName="test-queue-with-tags", tags={"tag_key_1": "tag_value_1"} + QueueName="test-queue-with-tags", + tags={"tag_key_1": "tag_value_1", "tag_key_2": ""}, ) queue_url = response["QueueUrl"] client.list_queue_tags(QueueUrl=queue_url)["Tags"].should.equal( - {"tag_key_1": "tag_value_1"} + {"tag_key_1": "tag_value_1", "tag_key_2": "",} )