sharding: Tolerate blank limits when listing
Otherwise, we can 500 with ValueError: invalid literal for int() with base 10: '' Change-Id: I35614aa4b42e61d97929579dcb16f7dfc9fef96f
This commit is contained in:
parent
5e9d5d101a
commit
d246bf20ed
@ -159,7 +159,7 @@ class ContainerController(Controller):
|
|||||||
return resp
|
return resp
|
||||||
|
|
||||||
objects = []
|
objects = []
|
||||||
req_limit = int(req.params.get('limit', CONTAINER_LISTING_LIMIT))
|
req_limit = int(req.params.get('limit') or CONTAINER_LISTING_LIMIT)
|
||||||
params = req.params.copy()
|
params = req.params.copy()
|
||||||
params.pop('states', None)
|
params.pop('states', None)
|
||||||
req.headers.pop('X-Backend-Record-Type', None)
|
req.headers.pop('X-Backend-Record-Type', None)
|
||||||
|
@ -640,7 +640,7 @@ class TestContainerController(TestRingBase):
|
|||||||
self.check_response(resp, root_resp_hdrs,
|
self.check_response(resp, root_resp_hdrs,
|
||||||
expected_objects=expected_objects)
|
expected_objects=expected_objects)
|
||||||
|
|
||||||
# GET all objects in reverse
|
# GET all objects in reverse and *blank* limit
|
||||||
mock_responses = [
|
mock_responses = [
|
||||||
# status, body, headers
|
# status, body, headers
|
||||||
(200, list(reversed(sr_dicts)), root_shard_resp_hdrs),
|
(200, list(reversed(sr_dicts)), root_shard_resp_hdrs),
|
||||||
@ -653,7 +653,7 @@ class TestContainerController(TestRingBase):
|
|||||||
expected_requests = [
|
expected_requests = [
|
||||||
# path, headers, params
|
# path, headers, params
|
||||||
('a/c', {'X-Backend-Record-Type': 'auto'},
|
('a/c', {'X-Backend-Record-Type': 'auto'},
|
||||||
dict(states='listing', reverse='true')),
|
dict(states='listing', reverse='true', limit='')),
|
||||||
(wsgi_quote(str_to_wsgi(shard_ranges[4].name)),
|
(wsgi_quote(str_to_wsgi(shard_ranges[4].name)),
|
||||||
{'X-Backend-Record-Type': 'auto'},
|
{'X-Backend-Record-Type': 'auto'},
|
||||||
dict(marker='', end_marker='\xf0\x9f\x8c\xb4', states='listing',
|
dict(marker='', end_marker='\xf0\x9f\x8c\xb4', states='listing',
|
||||||
@ -683,7 +683,8 @@ class TestContainerController(TestRingBase):
|
|||||||
|
|
||||||
resp = self._check_GET_shard_listing(
|
resp = self._check_GET_shard_listing(
|
||||||
mock_responses, list(reversed(expected_objects)),
|
mock_responses, list(reversed(expected_objects)),
|
||||||
expected_requests, query_string='?reverse=true', reverse=True)
|
expected_requests, query_string='?reverse=true&limit=',
|
||||||
|
reverse=True)
|
||||||
# root object count will overridden by actual length of listing
|
# root object count will overridden by actual length of listing
|
||||||
self.check_response(resp, root_resp_hdrs,
|
self.check_response(resp, root_resp_hdrs,
|
||||||
expected_objects=expected_objects)
|
expected_objects=expected_objects)
|
||||||
@ -831,7 +832,7 @@ class TestContainerController(TestRingBase):
|
|||||||
% (marker, end_marker, limit))
|
% (marker, end_marker, limit))
|
||||||
self.check_response(resp, root_resp_hdrs)
|
self.check_response(resp, root_resp_hdrs)
|
||||||
|
|
||||||
# reverse with marker, end_marker
|
# reverse with marker, end_marker, and limit
|
||||||
expected_objects.reverse()
|
expected_objects.reverse()
|
||||||
mock_responses = [
|
mock_responses = [
|
||||||
(200, sr_dicts[3:4], root_shard_resp_hdrs),
|
(200, sr_dicts[3:4], root_shard_resp_hdrs),
|
||||||
|
Loading…
Reference in New Issue
Block a user