add set_queue_attributes
This commit is contained in:
parent
89364ed864
commit
67261d3125
@ -38,5 +38,9 @@ class SQSBackend(BaseBackend):
|
|||||||
return self.queues.pop(queue_name)
|
return self.queues.pop(queue_name)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def set_queue_attribute(self, queue_name, key, value):
|
||||||
|
queue = self.get_queue(queue_name)
|
||||||
|
setattr(queue, key, value)
|
||||||
|
return queue
|
||||||
|
|
||||||
sqs_backend = SQSBackend()
|
sqs_backend = SQSBackend()
|
||||||
|
@ -51,6 +51,13 @@ class QueueResponse(BaseResponse):
|
|||||||
template = Template(GET_QUEUE_ATTRIBUTES_RESPONSE)
|
template = Template(GET_QUEUE_ATTRIBUTES_RESPONSE)
|
||||||
return template.render(queue=queue)
|
return template.render(queue=queue)
|
||||||
|
|
||||||
|
def set_queue_attributes(self):
|
||||||
|
queue_name = self.path.split("/")[-1]
|
||||||
|
key = camelcase_to_underscores(self.querystring.get('Attribute.Name')[0])
|
||||||
|
value = self.querystring.get('Attribute.Value')[0]
|
||||||
|
queue = sqs_backend.set_queue_attribute(queue_name, key, value)
|
||||||
|
return SET_QUEUE_ATTRIBUTE_RESPONSE
|
||||||
|
|
||||||
def delete_queue(self):
|
def delete_queue(self):
|
||||||
queue_name = self.path.split("/")[-1]
|
queue_name = self.path.split("/")[-1]
|
||||||
queue = sqs_backend.delete_queue(queue_name)
|
queue = sqs_backend.delete_queue(queue_name)
|
||||||
@ -108,3 +115,11 @@ GET_QUEUE_ATTRIBUTES_RESPONSE = """<GetQueueAttributesResponse>
|
|||||||
<RequestId>1ea71be5-b5a2-4f9d-b85a-945d8d08cd0b</RequestId>
|
<RequestId>1ea71be5-b5a2-4f9d-b85a-945d8d08cd0b</RequestId>
|
||||||
</ResponseMetadata>
|
</ResponseMetadata>
|
||||||
</GetQueueAttributesResponse>"""
|
</GetQueueAttributesResponse>"""
|
||||||
|
|
||||||
|
SET_QUEUE_ATTRIBUTE_RESPONSE = """<SetQueueAttributesResponse>
|
||||||
|
<ResponseMetadata>
|
||||||
|
<RequestId>
|
||||||
|
e5cca473-4fc0-4198-a451-8abb94d02c75
|
||||||
|
</RequestId>
|
||||||
|
</ResponseMetadata>
|
||||||
|
</SetQueueAttributesResponse>"""
|
||||||
|
@ -28,3 +28,16 @@ def test_delete_queue():
|
|||||||
conn.get_all_queues().should.have.length_of(0)
|
conn.get_all_queues().should.have.length_of(0)
|
||||||
|
|
||||||
queue.delete.when.called_with().should.throw(SQSError)
|
queue.delete.when.called_with().should.throw(SQSError)
|
||||||
|
|
||||||
|
|
||||||
|
@mock_sqs
|
||||||
|
def test_set_queue_attribute():
|
||||||
|
conn = boto.connect_sqs('the_key', 'the_secret')
|
||||||
|
conn.create_queue("test-queue", visibility_timeout=60)
|
||||||
|
|
||||||
|
queue = conn.get_all_queues()[0]
|
||||||
|
queue.get_timeout().should.equal(60)
|
||||||
|
|
||||||
|
queue.set_attribute("VisibilityTimeout", 45)
|
||||||
|
queue = conn.get_all_queues()[0]
|
||||||
|
queue.get_timeout().should.equal(45)
|
||||||
|
Loading…
Reference in New Issue
Block a user