diff --git a/moto/sqs/responses.py b/moto/sqs/responses.py index f84d293d..75f121b7 100644 --- a/moto/sqs/responses.py +++ b/moto/sqs/responses.py @@ -474,7 +474,11 @@ class SQSResponse(BaseResponse): def list_queue_tags(self): queue_name = self._get_queue_name() - queue = self.sqs_backend.get_queue(queue_name) + try: + queue = self.sqs_backend.get_queue(queue_name) + except QueueDoesNotExist as e: + return self._error('AWS.SimpleQueueService.NonExistentQueue', + e.description) template = self.response_template(LIST_QUEUE_TAGS_RESPONSE) return template.render(tags=queue.tags) diff --git a/tests/test_sqs/test_sqs.py b/tests/test_sqs/test_sqs.py index f5d09ba4..1ad2e1a8 100644 --- a/tests/test_sqs/test_sqs.py +++ b/tests/test_sqs/test_sqs.py @@ -1108,6 +1108,26 @@ def test_tags(): }) +@mock_sqs +def test_list_queue_tags_errors(): + client = boto3.client('sqs', region_name='us-east-1') + + response = client.create_queue( + QueueName='test-queue-with-tags', + tags={ + 'tag_key_1': 'tag_value_X' + } + ) + queue_url = response['QueueUrl'] + + client.list_queue_tags.when.called_with( + QueueUrl=queue_url + '-not-existing', + ).should.throw( + ClientError, + 'The specified queue does not exist for this wsdl version.' + ) + + @mock_sqs def test_tag_queue_errors(): client = boto3.client('sqs', region_name='us-east-1')