Fix: Adding empty tags to SQS queue on creation time (#4087)

* Fix: Adding tags to SQS queue on creation time
This commit is contained in:
Miguel Gagliardo 2021-07-27 09:24:38 +02:00 committed by GitHub
parent 44624593f1
commit f9f93531e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 3 deletions

View File

@ -91,7 +91,14 @@ class SQSResponse(BaseResponse):
request_url = urlparse(self.uri) request_url = urlparse(self.uri)
queue_name = self._get_param("QueueName") 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) template = self.response_template(CREATE_QUEUE_RESPONSE)
return template.render(queue_url=queue.url(request_url)) return template.render(queue_url=queue.url(request_url))

View File

@ -167,12 +167,13 @@ def test_create_queue_kms():
def test_create_queue_with_tags(): def test_create_queue_with_tags():
client = boto3.client("sqs", region_name="us-east-1") client = boto3.client("sqs", region_name="us-east-1")
response = client.create_queue( 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"] queue_url = response["QueueUrl"]
client.list_queue_tags(QueueUrl=queue_url)["Tags"].should.equal( 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": "",}
) )