diff --git a/.travis.yml b/.travis.yml index 36f2961d2..b631f21d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ jobs: dist: bionic python: 3.7 script: - - pip3 install black + - pip3 install -U --pre black - black --check . - stage: test name: cli_func_v4 diff --git a/gitlab/__init__.py b/gitlab/__init__.py index 883bb445f..3605b80b3 100644 --- a/gitlab/__init__.py +++ b/gitlab/__init__.py @@ -630,7 +630,7 @@ def http_list(self, path, query_data=None, as_list=None, **kwargs): get_all = kwargs.pop("all", False) url = self._build_url(path) - if get_all is True: + if get_all is True and as_list is True: return list(GitlabList(self, url, query_data, **kwargs)) if "page" in kwargs or as_list is True: diff --git a/gitlab/tests/test_gitlab.py b/gitlab/tests/test_gitlab.py index f9d4cc82e..7449b3a66 100644 --- a/gitlab/tests/test_gitlab.py +++ b/gitlab/tests/test_gitlab.py @@ -119,6 +119,24 @@ def resp_2(url, request): self.assertEqual(l[0]["a"], "b") self.assertEqual(l[1]["c"], "d") + def test_all_omitted_when_as_list(self): + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/tests", method="get") + def resp(url, request): + headers = { + "content-type": "application/json", + "X-Page": 2, + "X-Next-Page": 2, + "X-Per-Page": 1, + "X-Total-Pages": 2, + "X-Total": 2, + } + content = '[{"c": "d"}]' + return response(200, content, headers, None, 5, request) + + with HTTMock(resp): + result = self.gl.http_list("/tests", as_list=False, all=True) + self.assertIsInstance(result, GitlabList) + class TestGitlabHttpMethods(unittest.TestCase): def setUp(self): diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py index 5125ff47f..89e3259b0 100644 --- a/gitlab/v4/objects.py +++ b/gitlab/v4/objects.py @@ -762,8 +762,8 @@ class GroupClusterManager(CRUDMixin, RESTManager): _obj_cls = GroupCluster _from_parent_attrs = {"group_id": "id"} _create_attrs = ( - ("name", "platform_kubernetes_attributes",), - ("domain", "enabled", "managed", "environment_scope",), + ("name", "platform_kubernetes_attributes"), + ("domain", "enabled", "managed", "environment_scope"), ) _update_attrs = ( tuple(), @@ -1664,8 +1664,8 @@ class ProjectClusterManager(CRUDMixin, RESTManager): _obj_cls = ProjectCluster _from_parent_attrs = {"project_id": "id"} _create_attrs = ( - ("name", "platform_kubernetes_attributes",), - ("domain", "enabled", "managed", "environment_scope",), + ("name", "platform_kubernetes_attributes"), + ("domain", "enabled", "managed", "environment_scope"), ) _update_attrs = ( tuple(),