summaryrefslogtreecommitdiff
path: root/tools/functional/api/test_groups.py
diff options
context:
space:
mode:
authorJohn L. Villalovos <john@sodarock.com>2021-05-25 17:35:17 -0700
committerJohn L. Villalovos <john@sodarock.com>2021-05-26 06:42:19 -0700
commit502715d99e02105c39b2c5cf0e7457b3256eba0d (patch)
treee9064cda7c903159d8025def351475c10a707118 /tools/functional/api/test_groups.py
parent9beff0d484b5fe86e2cd31f20cf00a309e09cf75 (diff)
downloadgitlab-502715d99e02105c39b2c5cf0e7457b3256eba0d.tar.gz
chore: rename 'tools/functional/' to 'tests/functional/'
Rename the 'tools/functional/' directory to 'tests/functional/' This makes more sense as these are functional tests and not tools. This was dicussed in: https://github.com/python-gitlab/python-gitlab/discussions/1468
Diffstat (limited to 'tools/functional/api/test_groups.py')
-rw-r--r--tools/functional/api/test_groups.py195
1 files changed, 0 insertions, 195 deletions
diff --git a/tools/functional/api/test_groups.py b/tools/functional/api/test_groups.py
deleted file mode 100644
index eae2d9b..0000000
--- a/tools/functional/api/test_groups.py
+++ /dev/null
@@ -1,195 +0,0 @@
-import pytest
-
-import gitlab
-
-
-def test_groups(gl):
- # TODO: This one still needs lots of work
- user = gl.users.create(
- {
- "email": "user@test.com",
- "username": "user",
- "name": "user",
- "password": "user_pass",
- }
- )
- user2 = gl.users.create(
- {
- "email": "user2@test.com",
- "username": "user2",
- "name": "user2",
- "password": "user2_pass",
- }
- )
- group1 = gl.groups.create({"name": "group1", "path": "group1"})
- group2 = gl.groups.create({"name": "group2", "path": "group2"})
-
- p_id = gl.groups.list(search="group2")[0].id
- group3 = gl.groups.create({"name": "group3", "path": "group3", "parent_id": p_id})
- group4 = gl.groups.create({"name": "group4", "path": "group4"})
-
- assert len(gl.groups.list()) == 4
- assert len(gl.groups.list(search="oup1")) == 1
- assert group3.parent_id == p_id
- assert group2.subgroups.list()[0].id == group3.id
-
- filtered_groups = gl.groups.list(skip_groups=[group3.id, group4.id])
- assert group3 not in filtered_groups
- assert group3 not in filtered_groups
-
- group1.members.create(
- {"access_level": gitlab.const.OWNER_ACCESS, "user_id": user.id}
- )
- group1.members.create(
- {"access_level": gitlab.const.GUEST_ACCESS, "user_id": user2.id}
- )
- group2.members.create(
- {"access_level": gitlab.const.OWNER_ACCESS, "user_id": user2.id}
- )
-
- group4.share(group1.id, gitlab.const.DEVELOPER_ACCESS)
- group4.share(group2.id, gitlab.const.MAINTAINER_ACCESS)
- # Reload group4 to have updated shared_with_groups
- group4 = gl.groups.get(group4.id)
- assert len(group4.shared_with_groups) == 2
- group4.unshare(group1.id)
- # Reload group4 to have updated shared_with_groups
- group4 = gl.groups.get(group4.id)
- assert len(group4.shared_with_groups) == 1
-
- # User memberships (admin only)
- memberships1 = user.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 = user.memberships.list(type="Project")
- assert len(project_memberships) == 0
-
- group_memberships = user.memberships.list(type="Namespace")
- assert len(group_memberships) == 1
-
- with pytest.raises(gitlab.GitlabListError) as e:
- membership = user.memberships.list(type="Invalid")
- assert "type does not have a valid value" in str(e.value)
-
- with pytest.raises(gitlab.GitlabListError) as e:
- user.memberships.list(sudo=user.name)
- assert "403 Forbidden" in str(e.value)
-
- # Administrator belongs to the groups
- assert len(group1.members.list()) == 3
- assert len(group2.members.list()) == 2
-
- group1.members.delete(user.id)
- assert len(group1.members.list()) == 2
- assert len(group1.members.all()) # Deprecated
- assert len(group1.members_all.list())
- member = group1.members.get(user2.id)
- member.access_level = gitlab.const.OWNER_ACCESS
- member.save()
- member = group1.members.get(user2.id)
- assert member.access_level == gitlab.const.OWNER_ACCESS
-
- group2.members.delete(gl.user.id)
-
-
-@pytest.mark.skip(reason="Commented out in legacy test")
-def test_group_labels(group):
- group.labels.create({"name": "foo", "description": "bar", "color": "#112233"})
- label = group.labels.get("foo")
- assert label.description == "bar"
-
- label.description = "baz"
- label.save()
- label = group.labels.get("foo")
- assert label.description == "baz"
- assert len(group.labels.list()) == 1
-
- label.delete()
- assert len(group.labels.list()) == 0
-
-
-def test_group_notification_settings(group):
- settings = group.notificationsettings.get()
- settings.level = "disabled"
- settings.save()
-
- settings = group.notificationsettings.get()
- assert settings.level == "disabled"
-
-
-def test_group_badges(group):
- badge_image = "http://example.com"
- badge_link = "http://example/img.svg"
- badge = group.badges.create({"link_url": badge_link, "image_url": badge_image})
- assert len(group.badges.list()) == 1
-
- badge.image_url = "http://another.example.com"
- badge.save()
-
- badge = group.badges.get(badge.id)
- assert badge.image_url == "http://another.example.com"
-
- badge.delete()
- assert len(group.badges.list()) == 0
-
-
-def test_group_milestones(group):
- milestone = group.milestones.create({"title": "groupmilestone1"})
- assert len(group.milestones.list()) == 1
-
- milestone.due_date = "2020-01-01T00:00:00Z"
- milestone.save()
- milestone.state_event = "close"
- milestone.save()
-
- milestone = group.milestones.get(milestone.id)
- assert milestone.state == "closed"
- assert len(milestone.issues()) == 0
- assert len(milestone.merge_requests()) == 0
-
-
-def test_group_custom_attributes(gl, group):
- attrs = group.customattributes.list()
- assert len(attrs) == 0
-
- attr = group.customattributes.set("key", "value1")
- assert len(gl.groups.list(custom_attributes={"key": "value1"})) == 1
- assert attr.key == "key"
- assert attr.value == "value1"
- assert len(group.customattributes.list()) == 1
-
- attr = group.customattributes.set("key", "value2")
- attr = group.customattributes.get("key")
- assert attr.value == "value2"
- assert len(group.customattributes.list()) == 1
-
- attr.delete()
- assert len(group.customattributes.list()) == 0
-
-
-def test_group_subgroups_projects(gl, user):
- # TODO: fixture factories
- group1 = gl.groups.list(search="group1")[0]
- group2 = gl.groups.list(search="group2")[0]
-
- group3 = gl.groups.create(
- {"name": "subgroup1", "path": "subgroup1", "parent_id": group1.id}
- )
- group4 = gl.groups.create(
- {"name": "subgroup2", "path": "subgroup2", "parent_id": group2.id}
- )
-
- gr1_project = gl.projects.create({"name": "gr1_project", "namespace_id": group1.id})
- gr2_project = gl.projects.create({"name": "gr2_project", "namespace_id": group3.id})
-
- assert group3.parent_id == group1.id
- assert group4.parent_id == group2.id
- assert gr1_project.namespace["id"] == group1.id
- assert gr2_project.namespace["parent_id"] == group1.id