Skip to content

Commit

Permalink
Merge pull request #1827 from python-gitlab/jlvillal/all_objects
Browse files Browse the repository at this point in the history
fix: members: use new *All objects for *AllManager managers
  • Loading branch information
nejch committed Jan 13, 2022
2 parents 6f64d40 + 755e0a3 commit 58e5b25
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 6 deletions.
22 changes: 16 additions & 6 deletions gitlab/v4/objects/members.py
Expand Up @@ -17,9 +17,11 @@
"GroupBillableMemberMembership",
"GroupBillableMemberMembershipManager",
"GroupMember",
"GroupMemberAll",
"GroupMemberManager",
"GroupMemberAllManager",
"ProjectMember",
"ProjectMemberAll",
"ProjectMemberManager",
"ProjectMemberAllManager",
]
Expand Down Expand Up @@ -70,15 +72,19 @@ class GroupBillableMemberMembershipManager(ListMixin, RESTManager):
_from_parent_attrs = {"group_id": "group_id", "user_id": "id"}


class GroupMemberAll(RESTObject):
_short_print_attr = "username"


class GroupMemberAllManager(RetrieveMixin, RESTManager):
_path = "/groups/{group_id}/members/all"
_obj_cls = GroupMember
_obj_cls = GroupMemberAll
_from_parent_attrs = {"group_id": "id"}

def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> GroupMember:
return cast(GroupMember, super().get(id=id, lazy=lazy, **kwargs))
) -> GroupMemberAll:
return cast(GroupMemberAll, super().get(id=id, lazy=lazy, **kwargs))


class ProjectMember(SaveMixin, ObjectDeleteMixin, RESTObject):
Expand All @@ -103,12 +109,16 @@ def get(
return cast(ProjectMember, super().get(id=id, lazy=lazy, **kwargs))


class ProjectMemberAll(RESTObject):
_short_print_attr = "username"


class ProjectMemberAllManager(RetrieveMixin, RESTManager):
_path = "/projects/{project_id}/members/all"
_obj_cls = ProjectMember
_obj_cls = ProjectMemberAll
_from_parent_attrs = {"project_id": "id"}

def get(
self, id: Union[str, int], lazy: bool = False, **kwargs: Any
) -> ProjectMember:
return cast(ProjectMember, super().get(id=id, lazy=lazy, **kwargs))
) -> ProjectMemberAll:
return cast(ProjectMemberAll, super().get(id=id, lazy=lazy, **kwargs))
28 changes: 28 additions & 0 deletions tests/functional/cli/test_cli_v4.py
Expand Up @@ -701,6 +701,31 @@ def test_delete_group_deploy_token(gitlab_cli, group_deploy_token):
# TODO assert not in list


def test_project_member_all(gitlab_cli, project):
cmd = [
"project-member-all",
"list",
"--project-id",
project.id,
]
ret = gitlab_cli(cmd)

assert ret.success


def test_group_member_all(gitlab_cli, group):
cmd = [
"group-member-all",
"list",
"--group-id",
group.id,
]
ret = gitlab_cli(cmd)

assert ret.success


# Deleting the project and group. Add your tests above here.
def test_delete_project(gitlab_cli, project):
cmd = ["project", "delete", "--id", project.id]
ret = gitlab_cli(cmd)
Expand All @@ -713,3 +738,6 @@ def test_delete_group(gitlab_cli, group):
ret = gitlab_cli(cmd)

assert ret.success


# Don't add tests below here as the group and project have been deleted

0 comments on commit 58e5b25

Please sign in to comment.