Merge "v1.1 and v2 claims return document not list"
This commit is contained in:
@@ -25,7 +25,7 @@ class QueuesV1ClaimsHttpUnitTest(claims.QueueV1ClaimUnitTest):
|
|||||||
version = 1
|
version = 1
|
||||||
|
|
||||||
|
|
||||||
class QueuesV1_1ClaimsHttpUnitTest(claims.QueueV1ClaimUnitTest):
|
class QueuesV1_1ClaimsHttpUnitTest(claims.QueueV1_1ClaimUnitTest):
|
||||||
|
|
||||||
transport_cls = http.HttpTransport
|
transport_cls = http.HttpTransport
|
||||||
url = 'http://127.0.0.1:8888/v1.1'
|
url = 'http://127.0.0.1:8888/v1.1'
|
||||||
|
@@ -59,9 +59,13 @@ class Claim(object):
|
|||||||
ttl=self._ttl,
|
ttl=self._ttl,
|
||||||
grace=self._grace,
|
grace=self._grace,
|
||||||
limit=self._limit)
|
limit=self._limit)
|
||||||
|
|
||||||
# extract the id from the first message
|
# extract the id from the first message
|
||||||
if msgs is not None:
|
if msgs is not None:
|
||||||
|
if self._queue.client.api_version >= 1.1:
|
||||||
|
msgs = msgs['messages']
|
||||||
self.id = msgs[0]['href'].split('=')[-1]
|
self.id = msgs[0]['href'].split('=')[-1]
|
||||||
|
|
||||||
self._message_iter = iterate._Iterator(self._queue.client,
|
self._message_iter = iterate._Iterator(self._queue.client,
|
||||||
msgs or [],
|
msgs or [],
|
||||||
'messages',
|
'messages',
|
||||||
|
@@ -137,3 +137,33 @@ class QueuesV1ClaimFunctionalTest(base.QueuesTestBase):
|
|||||||
claim_id = cl.id
|
claim_id = cl.id
|
||||||
cl.delete()
|
cl.delete()
|
||||||
self.assertRaises(errors.ResourceNotFound, queue.claim, id=claim_id)
|
self.assertRaises(errors.ResourceNotFound, queue.claim, id=claim_id)
|
||||||
|
|
||||||
|
|
||||||
|
class QueueV1_1ClaimUnitTest(QueueV1ClaimUnitTest):
|
||||||
|
|
||||||
|
def test_claim(self):
|
||||||
|
result = [{
|
||||||
|
'href': '/v1/queues/fizbit/messages/50b68a50d6f5b8c8a7c62b01',
|
||||||
|
'ttl': 800,
|
||||||
|
'age': 790,
|
||||||
|
'body': {'event': 'ActivateAccount', 'mode': 'active'}
|
||||||
|
}, {
|
||||||
|
'href': '/v1/queues/fizbit/messages/50b68a50d6f5b8c8a7c62b02',
|
||||||
|
'ttl': 800,
|
||||||
|
'age': 790,
|
||||||
|
'body': {'event': 'ActivateAccount', 'mode': 'active'}
|
||||||
|
}]
|
||||||
|
|
||||||
|
with mock.patch.object(self.transport, 'send',
|
||||||
|
autospec=True) as send_method:
|
||||||
|
|
||||||
|
resp = response.Response(None, json.dumps({'messages': result}))
|
||||||
|
send_method.return_value = resp
|
||||||
|
|
||||||
|
claimed = self.queue.claim(ttl=60, grace=60)
|
||||||
|
# messages doesn't support len()
|
||||||
|
num_tested = 0
|
||||||
|
for num, msg in enumerate(claimed):
|
||||||
|
num_tested += 1
|
||||||
|
self.assertEqual(result[num]['href'], msg.href)
|
||||||
|
self.assertEqual(len(result), num_tested)
|
||||||
|
Reference in New Issue
Block a user