diff options
author | Nejc Habjan <hab.nejc@gmail.com> | 2020-02-22 22:55:50 +0100 |
---|---|---|
committer | Nejc Habjan <hab.nejc@gmail.com> | 2020-02-22 23:00:29 +0100 |
commit | c313c2b01d796418539e42d578fed635f750cdc1 (patch) | |
tree | 7b53057dc000d06b1929a02b11ef929a0ff4be04 /tools | |
parent | e8f0921d164c4b7db78e2f62e75eb32094b4456e (diff) | |
download | gitlab-c313c2b01d796418539e42d578fed635f750cdc1.tar.gz |
feat: add support for user memberships API (#1009)
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/cli_test_v4.sh | 4 | ||||
-rw-r--r-- | tools/python_test_v4.py | 29 |
2 files changed, 33 insertions, 0 deletions
diff --git a/tools/cli_test_v4.sh b/tools/cli_test_v4.sh index b7ed708..cf157f4 100755 --- a/tools/cli_test_v4.sh +++ b/tools/cli_test_v4.sh @@ -61,6 +61,10 @@ testcase "adding member to a project" ' --user-id "$USER_ID" --access-level 40 >/dev/null 2>&1 ' +testcase "listing user memberships" ' + GITLAB user-membership list --user-id "$USER_ID" >/dev/null 2>&1 +' + testcase "file creation" ' GITLAB project-file create --project-id "$PROJECT_ID" \ --file-path README --branch master --content "CONTENT" \ diff --git a/tools/python_test_v4.py b/tools/python_test_v4.py index 49f99e5..0703ee3 100644 --- a/tools/python_test_v4.py +++ b/tools/python_test_v4.py @@ -266,6 +266,35 @@ group1.members.create({"access_level": gitlab.const.GUEST_ACCESS, "user_id": use group2.members.create({"access_level": gitlab.const.OWNER_ACCESS, "user_id": user2.id}) +# User memberships (admin only) +memberships1 = user1.memberships.list() +assert len(memberships1) == 1 + +memberships2 = user2.memberships.list() +assert len(memberships2) == 2 + +membership = memberships1[0] +assert membership.source_type == "Namespace" +assert membership.access_level == gitlab.const.OWNER_ACCESS + +project_memberships = user1.memberships.list(type="Project") +assert len(project_memberships) == 0 + +group_memberships = user1.memberships.list(type="Namespace") +assert len(group_memberships) == 1 + +try: + membership = user1.memberships.list(type="Invalid") +except gitlab.GitlabListError as e: + error_message = e.error_message +assert error_message == "type does not have a valid value" + +try: + user1.memberships.list(sudo=user1.name) +except gitlab.GitlabListError as e: + error_message = e.error_message +assert error_message == "403 Forbidden" + # Administrator belongs to the groups assert len(group1.members.list()) == 3 assert len(group2.members.list()) == 2 |