diff --git a/neutronclient/tests/unit/test_client_extension.py b/neutronclient/tests/unit/test_client_extension.py index d0609b3..0fccd5e 100644 --- a/neutronclient/tests/unit/test_client_extension.py +++ b/neutronclient/tests/unit/test_client_extension.py @@ -104,6 +104,11 @@ class CLITestV20ExtensionJSON(test_cli20.CLITestV20Base): cmd = fox_sockets.FoxInSocketsList(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, True) + def test_list_fox_pagination(self): + resources = 'fox_sockets' + cmd = fox_sockets.FoxInSocketsList(test_cli20.MyApp(sys.stdout), None) + self._test_list_resources_with_pagination(resources, cmd) + def test_show_fox_socket(self): # Show fox_socket: --fields id --fields name myid. resource = 'fox_socket' diff --git a/neutronclient/v2_0/client.py b/neutronclient/v2_0/client.py index 4dc7382..fed5b13 100644 --- a/neutronclient/v2_0/client.py +++ b/neutronclient/v2_0/client.py @@ -448,9 +448,9 @@ class Client(ClientBase): } @APIParamsCall - def list_ext(self, path, **_params): + def list_ext(self, collection, path, retrieve_all, **_params): """Client extension hook for lists.""" - return self.get(path, params=_params) + return self.list(collection, path, retrieve_all, **_params) @APIParamsCall def show_ext(self, path, id, **_params): @@ -1701,11 +1701,13 @@ class Client(ClientBase): setattr(self, "show_%s" % resource_singular, fn) def extend_list(self, resource_plural, path, parent_resource): - def _fx(**_params): - return self.list_ext(path, **_params) + def _fx(retrieve_all=True, **_params): + return self.list_ext(resource_plural, path, + retrieve_all, **_params) - def _parent_fx(parent_id, **_params): - return self.list_ext(path % parent_id, **_params) + def _parent_fx(parent_id, retrieve_all=True, **_params): + return self.list_ext(resource_plural, path % parent_id, + retrieve_all, **_params) fn = _fx if not parent_resource else _parent_fx setattr(self, "list_%s" % resource_plural, fn)