Merge "Fix share instance list API display error"
This commit is contained in:
commit
a6a1cbcd96
@ -17,6 +17,7 @@ class ViewBuilder(common.ViewBuilder):
|
||||
"""Model a server API response as a python dictionary."""
|
||||
|
||||
_collection_name = 'share_instances'
|
||||
_collection_links = 'share_instances_links'
|
||||
|
||||
_detail_version_modifiers = [
|
||||
"remove_export_locations",
|
||||
@ -60,7 +61,7 @@ class ViewBuilder(common.ViewBuilder):
|
||||
instances_dict = {self._collection_name: instances_list}
|
||||
|
||||
if instances_links:
|
||||
instances_dict[self._collection_name] = instances_links
|
||||
instances_dict[self._collection_links] = instances_links
|
||||
|
||||
return instances_dict
|
||||
|
||||
|
@ -59,7 +59,7 @@ class ShareInstancesAPITest(test.TestCase):
|
||||
def _get_request(self, uri, context=None, version="2.3"):
|
||||
if context is None:
|
||||
context = self.admin_context
|
||||
req = fakes.HTTPRequest.blank('/shares', version=version)
|
||||
req = fakes.HTTPRequest.blank(uri, version=version)
|
||||
req.environ['manila.context'] = context
|
||||
return req
|
||||
|
||||
@ -84,6 +84,33 @@ class ShareInstancesAPITest(test.TestCase):
|
||||
self.mock_policy_check.assert_called_once_with(
|
||||
req_context, self.resource_name, 'index')
|
||||
|
||||
def test_index_with_limit(self):
|
||||
req = self._get_request('/share_instances')
|
||||
req_context = req.environ['manila.context']
|
||||
share_instances_count = 3
|
||||
test_instances = [
|
||||
db_utils.create_share(size=s + 1).instance
|
||||
for s in range(0, share_instances_count)
|
||||
]
|
||||
expect_links = [
|
||||
{
|
||||
'href': (
|
||||
'http://localhost/v1/fake/share_instances?'
|
||||
'limit=3&marker=%s' % test_instances[2]['id']),
|
||||
'rel': 'next',
|
||||
}
|
||||
]
|
||||
|
||||
url = 'share_instances?limit=3'
|
||||
req = self._get_request(url)
|
||||
actual_result = self.controller.index(req)
|
||||
|
||||
self._validate_ids_in_share_instances_list(
|
||||
test_instances, actual_result['share_instances'])
|
||||
self.assertEqual(expect_links, actual_result['share_instances_links'])
|
||||
self.mock_policy_check.assert_called_once_with(
|
||||
req_context, self.resource_name, 'index')
|
||||
|
||||
def test_show(self):
|
||||
test_instance = db_utils.create_share(size=1).instance
|
||||
id = test_instance['id']
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
fixes:
|
||||
- Fixed share instance list with limit number API display error.
|
||||
Change _collection_name to _collection_links when we want to
|
||||
show instances_links.
|
Loading…
Reference in New Issue
Block a user