Refactor sqs.get_queue_url
This commit is contained in:
parent
23978e644f
commit
6573f69087
@ -6065,7 +6065,7 @@
|
|||||||
- [X] untag_resource
|
- [X] untag_resource
|
||||||
|
|
||||||
## sqs
|
## sqs
|
||||||
75% implemented
|
80% implemented
|
||||||
- [X] add_permission
|
- [X] add_permission
|
||||||
- [X] change_message_visibility
|
- [X] change_message_visibility
|
||||||
- [ ] change_message_visibility_batch
|
- [ ] change_message_visibility_batch
|
||||||
@ -6074,7 +6074,7 @@
|
|||||||
- [ ] delete_message_batch
|
- [ ] delete_message_batch
|
||||||
- [X] delete_queue
|
- [X] delete_queue
|
||||||
- [ ] get_queue_attributes
|
- [ ] get_queue_attributes
|
||||||
- [ ] get_queue_url
|
- [X] get_queue_url
|
||||||
- [X] list_dead_letter_source_queues
|
- [X] list_dead_letter_source_queues
|
||||||
- [X] list_queue_tags
|
- [X] list_queue_tags
|
||||||
- [X] list_queues
|
- [X] list_queues
|
||||||
|
@ -466,6 +466,9 @@ class SQSBackend(BaseBackend):
|
|||||||
|
|
||||||
return queue
|
return queue
|
||||||
|
|
||||||
|
def get_queue_url(self, queue_name):
|
||||||
|
return self.get_queue(queue_name)
|
||||||
|
|
||||||
def list_queues(self, queue_name_prefix):
|
def list_queues(self, queue_name_prefix):
|
||||||
re_str = '.*'
|
re_str = '.*'
|
||||||
if queue_name_prefix:
|
if queue_name_prefix:
|
||||||
|
@ -90,13 +90,10 @@ 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.get_queue(queue_name)
|
queue = self.sqs_backend.get_queue_url(queue_name)
|
||||||
|
|
||||||
if queue:
|
template = self.response_template(GET_QUEUE_URL_RESPONSE)
|
||||||
template = self.response_template(GET_QUEUE_URL_RESPONSE)
|
return template.render(queue_url=queue.url(request_url))
|
||||||
return template.render(queue=queue, request_url=request_url)
|
|
||||||
else:
|
|
||||||
return "", dict(status=404)
|
|
||||||
|
|
||||||
def list_queues(self):
|
def list_queues(self):
|
||||||
request_url = urlparse(self.uri)
|
request_url = urlparse(self.uri)
|
||||||
@ -420,7 +417,7 @@ CREATE_QUEUE_RESPONSE = """<CreateQueueResponse>
|
|||||||
|
|
||||||
GET_QUEUE_URL_RESPONSE = """<GetQueueUrlResponse>
|
GET_QUEUE_URL_RESPONSE = """<GetQueueUrlResponse>
|
||||||
<GetQueueUrlResult>
|
<GetQueueUrlResult>
|
||||||
<QueueUrl>{{ queue.url(request_url) }}</QueueUrl>
|
<QueueUrl>{{ queue_url }}</QueueUrl>
|
||||||
</GetQueueUrlResult>
|
</GetQueueUrlResult>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
<RequestId></RequestId>
|
<RequestId></RequestId>
|
||||||
|
@ -144,18 +144,42 @@ 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',
|
QueueName='test-queue-with-tags',
|
||||||
tags = {
|
tags={
|
||||||
'tag_key_1': 'tag_value_1'
|
'tag_key_1': 'tag_value_1'
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
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'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@mock_sqs
|
||||||
|
def test_get_queue_url():
|
||||||
|
client = boto3.client('sqs', region_name='us-east-1')
|
||||||
|
client.create_queue(QueueName='test-queue')
|
||||||
|
|
||||||
|
response = client.get_queue_url(QueueName='test-queue')
|
||||||
|
|
||||||
|
response['QueueUrl'].should.equal(
|
||||||
|
'https://queue.amazonaws.com/123456789012/test-queue'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@mock_sqs
|
||||||
|
def test_get_queue_url_errors():
|
||||||
|
client = boto3.client('sqs', region_name='us-east-1')
|
||||||
|
|
||||||
|
client.get_queue_url.when.called_with(
|
||||||
|
QueueName='non-existing-queue'
|
||||||
|
).should.throw(
|
||||||
|
ClientError,
|
||||||
|
'The specified queue does not exist for this wsdl version.'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@mock_sqs
|
@mock_sqs
|
||||||
def test_get_nonexistent_queue():
|
def test_get_nonexistent_queue():
|
||||||
sqs = boto3.resource('sqs', region_name='us-east-1')
|
sqs = boto3.resource('sqs', region_name='us-east-1')
|
||||||
|
Loading…
Reference in New Issue
Block a user