parent
f46a24180f
commit
56f9409ca9
@ -180,9 +180,8 @@ class Queue(object):
|
|||||||
result[attribute] = getattr(self, camelcase_to_underscores(attribute))
|
result[attribute] = getattr(self, camelcase_to_underscores(attribute))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@property
|
def url(self, request_url):
|
||||||
def url(self):
|
return "{0}://{1}/123456789012/{2}".format(request_url.scheme, request_url.netloc, self.name)
|
||||||
return "http://sqs.{0}.amazonaws.com/123456789012/{1}".format(self.region, self.name)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def messages(self):
|
def messages(self):
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
from six.moves.urllib.parse import urlparse
|
||||||
|
|
||||||
from moto.core.responses import BaseResponse
|
from moto.core.responses import BaseResponse
|
||||||
from moto.core.utils import camelcase_to_underscores
|
from moto.core.utils import camelcase_to_underscores
|
||||||
@ -57,26 +58,29 @@ class SQSResponse(BaseResponse):
|
|||||||
return status_code, headers, body
|
return status_code, headers, body
|
||||||
|
|
||||||
def create_queue(self):
|
def create_queue(self):
|
||||||
|
request_url = urlparse(self.uri)
|
||||||
queue_name = self.querystring.get("QueueName")[0]
|
queue_name = self.querystring.get("QueueName")[0]
|
||||||
queue = self.sqs_backend.create_queue(queue_name, visibility_timeout=self.attribute.get('VisibilityTimeout'),
|
queue = self.sqs_backend.create_queue(queue_name, visibility_timeout=self.attribute.get('VisibilityTimeout'),
|
||||||
wait_time_seconds=self.attribute.get('WaitTimeSeconds'))
|
wait_time_seconds=self.attribute.get('WaitTimeSeconds'))
|
||||||
template = self.response_template(CREATE_QUEUE_RESPONSE)
|
template = self.response_template(CREATE_QUEUE_RESPONSE)
|
||||||
return template.render(queue=queue)
|
return template.render(queue=queue, request_url=request_url)
|
||||||
|
|
||||||
def get_queue_url(self):
|
def get_queue_url(self):
|
||||||
|
request_url = urlparse(self.uri)
|
||||||
queue_name = self.querystring.get("QueueName")[0]
|
queue_name = self.querystring.get("QueueName")[0]
|
||||||
queue = self.sqs_backend.get_queue(queue_name)
|
queue = self.sqs_backend.get_queue(queue_name)
|
||||||
if queue:
|
if queue:
|
||||||
template = self.response_template(GET_QUEUE_URL_RESPONSE)
|
template = self.response_template(GET_QUEUE_URL_RESPONSE)
|
||||||
return template.render(queue=queue)
|
return template.render(queue=queue, request_url=request_url)
|
||||||
else:
|
else:
|
||||||
return "", dict(status=404)
|
return "", dict(status=404)
|
||||||
|
|
||||||
def list_queues(self):
|
def list_queues(self):
|
||||||
|
request_url = urlparse(self.uri)
|
||||||
queue_name_prefix = self.querystring.get("QueueNamePrefix", [None])[0]
|
queue_name_prefix = self.querystring.get("QueueNamePrefix", [None])[0]
|
||||||
queues = self.sqs_backend.list_queues(queue_name_prefix)
|
queues = self.sqs_backend.list_queues(queue_name_prefix)
|
||||||
template = self.response_template(LIST_QUEUES_RESPONSE)
|
template = self.response_template(LIST_QUEUES_RESPONSE)
|
||||||
return template.render(queues=queues)
|
return template.render(queues=queues, request_url=request_url)
|
||||||
|
|
||||||
def change_message_visibility(self):
|
def change_message_visibility(self):
|
||||||
queue_name = self._get_queue_name()
|
queue_name = self._get_queue_name()
|
||||||
@ -265,7 +269,7 @@ class SQSResponse(BaseResponse):
|
|||||||
|
|
||||||
CREATE_QUEUE_RESPONSE = """<CreateQueueResponse>
|
CREATE_QUEUE_RESPONSE = """<CreateQueueResponse>
|
||||||
<CreateQueueResult>
|
<CreateQueueResult>
|
||||||
<QueueUrl>{{ queue.url }}</QueueUrl>
|
<QueueUrl>{{ queue.url(request_url) }}</QueueUrl>
|
||||||
<VisibilityTimeout>{{ queue.visibility_timeout }}</VisibilityTimeout>
|
<VisibilityTimeout>{{ queue.visibility_timeout }}</VisibilityTimeout>
|
||||||
</CreateQueueResult>
|
</CreateQueueResult>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
@ -275,7 +279,7 @@ CREATE_QUEUE_RESPONSE = """<CreateQueueResponse>
|
|||||||
|
|
||||||
GET_QUEUE_URL_RESPONSE = """<GetQueueUrlResponse>
|
GET_QUEUE_URL_RESPONSE = """<GetQueueUrlResponse>
|
||||||
<GetQueueUrlResult>
|
<GetQueueUrlResult>
|
||||||
<QueueUrl>{{ queue.url }}</QueueUrl>
|
<QueueUrl>{{ queue.url(request_url) }}</QueueUrl>
|
||||||
</GetQueueUrlResult>
|
</GetQueueUrlResult>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
<RequestId>470a6f13-2ed9-4181-ad8a-2fdea142988e</RequestId>
|
<RequestId>470a6f13-2ed9-4181-ad8a-2fdea142988e</RequestId>
|
||||||
@ -285,7 +289,7 @@ GET_QUEUE_URL_RESPONSE = """<GetQueueUrlResponse>
|
|||||||
LIST_QUEUES_RESPONSE = """<ListQueuesResponse>
|
LIST_QUEUES_RESPONSE = """<ListQueuesResponse>
|
||||||
<ListQueuesResult>
|
<ListQueuesResult>
|
||||||
{% for queue in queues %}
|
{% for queue in queues %}
|
||||||
<QueueUrl>{{ queue.url }}</QueueUrl>
|
<QueueUrl>{{ queue.url(request_url) }}</QueueUrl>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ListQueuesResult>
|
</ListQueuesResult>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
|
@ -71,7 +71,7 @@ def test_create_queues_in_multiple_region():
|
|||||||
list(west1_conn.list_queues()['QueueUrls']).should.have.length_of(1)
|
list(west1_conn.list_queues()['QueueUrls']).should.have.length_of(1)
|
||||||
list(west2_conn.list_queues()['QueueUrls']).should.have.length_of(1)
|
list(west2_conn.list_queues()['QueueUrls']).should.have.length_of(1)
|
||||||
|
|
||||||
west1_conn.list_queues()['QueueUrls'][0].should.equal('http://sqs.us-west-1.amazonaws.com/123456789012/blah')
|
west1_conn.list_queues()['QueueUrls'][0].should.equal('https://us-west-1.queue.amazonaws.com/123456789012/blah')
|
||||||
|
|
||||||
|
|
||||||
@mock_sqs
|
@mock_sqs
|
||||||
@ -85,7 +85,7 @@ def test_get_queue_with_prefix():
|
|||||||
|
|
||||||
queue = conn.list_queues(QueueNamePrefix="test-")['QueueUrls']
|
queue = conn.list_queues(QueueNamePrefix="test-")['QueueUrls']
|
||||||
queue.should.have.length_of(1)
|
queue.should.have.length_of(1)
|
||||||
queue[0].should.equal("http://sqs.us-west-1.amazonaws.com/123456789012/test-queue")
|
queue[0].should.equal("https://us-west-1.queue.amazonaws.com/123456789012/test-queue")
|
||||||
|
|
||||||
|
|
||||||
@mock_sqs
|
@mock_sqs
|
||||||
|
Loading…
Reference in New Issue
Block a user