Enable the option to return the response body
As a continuation of the patch mentioned below: https://review.opendev.org/c/openstack/python-manilaclient/+/890330 Change-Id: I4c1c1e089a726608124693c13eca73ce12fd5b8e
This commit is contained in:
parent
47b0ac7d59
commit
2f6cd660c6
|
@ -64,7 +64,8 @@ class Manager(utils.HookableMixin):
|
|||
def api_version(self):
|
||||
return self.api.api_version
|
||||
|
||||
def _list(self, url, response_key, manager=None, body=None):
|
||||
def _list(self, url, response_key, manager=None, body=None,
|
||||
return_raw=None):
|
||||
"""List the collection.
|
||||
|
||||
:param url: a partial URL, e.g., '/shares'
|
||||
|
@ -97,6 +98,8 @@ class Manager(utils.HookableMixin):
|
|||
pass
|
||||
with self.completion_cache('human_id', obj_class, mode="w"):
|
||||
with self.completion_cache('uuid', obj_class, mode="w"):
|
||||
if return_raw:
|
||||
return data
|
||||
resource = [obj_class(manager, res, loaded=True)
|
||||
for res in data if res]
|
||||
if 'count' in body:
|
||||
|
|
|
@ -332,15 +332,15 @@ class SharesTest(utils.TestCase):
|
|||
if version >= api_versions.APIVersion('2.69'):
|
||||
manager.do_list.assert_called_once_with(
|
||||
detailed=False, search_opts=search_opts3,
|
||||
sort_key=None, sort_dir=None)
|
||||
sort_key=None, sort_dir=None, return_raw=False)
|
||||
elif version >= api_versions.APIVersion('2.35'):
|
||||
manager.do_list.assert_called_once_with(
|
||||
detailed=False, search_opts=search_opts2,
|
||||
sort_key=None, sort_dir=None)
|
||||
sort_key=None, sort_dir=None, return_raw=False)
|
||||
else:
|
||||
manager.do_list.assert_called_once_with(
|
||||
detailed=False, search_opts=search_opts1,
|
||||
sort_key=None, sort_dir=None)
|
||||
sort_key=None, sort_dir=None, return_raw=False)
|
||||
|
||||
def test_list_shares_index_with_search_opts(self):
|
||||
search_opts = {
|
||||
|
|
|
@ -345,31 +345,34 @@ class ShareManager(base.MetadataCapableManager):
|
|||
|
||||
@api_versions.wraps("1.0", "2.34")
|
||||
def list(self, detailed=True, search_opts=None,
|
||||
sort_key=None, sort_dir=None):
|
||||
sort_key=None, sort_dir=None, return_raw=False):
|
||||
"""Get a list of all shares."""
|
||||
search_opts = search_opts or {}
|
||||
search_opts.pop("export_location", None)
|
||||
search_opts.pop("is_soft_deleted", None)
|
||||
return self.do_list(detailed=detailed, search_opts=search_opts,
|
||||
sort_key=sort_key, sort_dir=sort_dir)
|
||||
sort_key=sort_key, sort_dir=sort_dir,
|
||||
return_raw=return_raw)
|
||||
|
||||
@api_versions.wraps("2.35", "2.68") # noqa
|
||||
def list(self, detailed=True, search_opts=None, # noqa
|
||||
sort_key=None, sort_dir=None):
|
||||
sort_key=None, sort_dir=None, return_raw=False):
|
||||
"""Get a list of all shares."""
|
||||
search_opts.pop("is_soft_deleted", None)
|
||||
return self.do_list(detailed=detailed, search_opts=search_opts,
|
||||
sort_key=sort_key, sort_dir=sort_dir)
|
||||
sort_key=sort_key, sort_dir=sort_dir,
|
||||
return_raw=return_raw)
|
||||
|
||||
@api_versions.wraps("2.69") # noqa
|
||||
def list(self, detailed=True, search_opts=None, # noqa
|
||||
sort_key=None, sort_dir=None):
|
||||
sort_key=None, sort_dir=None, return_raw=False):
|
||||
"""Get a list of all shares."""
|
||||
return self.do_list(detailed=detailed, search_opts=search_opts,
|
||||
sort_key=sort_key, sort_dir=sort_dir)
|
||||
sort_key=sort_key, sort_dir=sort_dir,
|
||||
return_raw=return_raw)
|
||||
|
||||
def do_list(self, detailed=True, search_opts=None,
|
||||
sort_key=None, sort_dir=None):
|
||||
sort_key=None, sort_dir=None, return_raw=False):
|
||||
"""Get a list of all shares.
|
||||
|
||||
:param detailed: Whether to return detailed share info or not.
|
||||
|
@ -440,7 +443,7 @@ class ShareManager(base.MetadataCapableManager):
|
|||
else:
|
||||
path = "/shares%s" % (query_string,)
|
||||
|
||||
return self._list(path, 'shares')
|
||||
return self._list(path, 'shares', return_raw=return_raw)
|
||||
|
||||
def delete(self, share, share_group_id=None):
|
||||
"""Delete a share.
|
||||
|
|
Loading…
Reference in New Issue