From 1a143952119ce8e964cc7fcbfd73b8678ee2da74 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Sun, 10 Jan 2021 05:05:18 +0100 Subject: [PATCH 1/2] fix(api): use RetrieveMixin for ProjectLabelManager Allows to get a single label from a project, which was missing before even though the GitLab API has the ability to. --- gitlab/v4/objects/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab/v4/objects/__init__.py b/gitlab/v4/objects/__init__.py index edeff044e..f42c60b46 100644 --- a/gitlab/v4/objects/__init__.py +++ b/gitlab/v4/objects/__init__.py @@ -3601,7 +3601,7 @@ def save(self, **kwargs): class ProjectLabelManager( - ListMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager + RetrieveMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager ): _path = "/projects/%(project_id)s/labels" _obj_cls = ProjectLabel From a41af902675a07cd4772bb122c152547d6d570f7 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Sun, 10 Jan 2021 13:46:04 +0100 Subject: [PATCH 2/2] feat(tests): test label getter --- tools/functional/api/test_projects.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/functional/api/test_projects.py b/tools/functional/api/test_projects.py index 3e88c0c10..945a6ec3f 100644 --- a/tools/functional/api/test_projects.py +++ b/tools/functional/api/test_projects.py @@ -139,8 +139,11 @@ def test_project_housekeeping(project): def test_project_labels(project): label = project.labels.create({"name": "label", "color": "#778899"}) - label = project.labels.list()[0] - assert len(project.labels.list()) == 1 + labels = project.labels.list() + assert len(labels) == 1 + + label = project.labels.get("label") + assert label == labels[0] label.new_name = "labelupdated" label.save()