Adds few more gitlab group options (#3248)

* Adds few more gitlab group options

* Update plugins/modules/source_control/gitlab/gitlab_group.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Removes default for new string options

* Removes default from argument_spec

* Adds changelog fragment

* Update plugins/modules/source_control/gitlab/gitlab_group.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/source_control/gitlab/gitlab_group.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/source_control/gitlab/gitlab_group.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Maik Schueller <maik.schueller@sap.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
mkschuel 2021-09-10 23:38:26 +02:00 committed by GitHub
parent 05fe587a3e
commit 58d018ebbd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 96 additions and 8 deletions

View file

@ -194,6 +194,7 @@ def resp_get_group(url, request):
'"lfs_enabled": true, "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",'
'"web_url": "http://localhost:3000/groups/foo-bar", "request_access_enabled": false,'
'"full_name": "Foobar Group", "full_path": "foo-bar",'
'"project_creation_level": "maintainer", "subgroup_creation_level": "maintainer",'
'"file_template_project_id": 1, "parent_id": null, "projects": [{"id": 1,"description": null, "default_branch": "master",'
'"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",'
'"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",'
@ -225,7 +226,8 @@ def resp_create_group(url, request):
'"lfs_enabled": true, "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",'
'"web_url": "http://localhost:3000/groups/foo-bar", "request_access_enabled": false,'
'"full_name": "Foobar Group", "full_path": "foo-bar",'
'"file_template_project_id": 1, "parent_id": null}')
'"file_template_project_id": 1, "parent_id": null,'
'"project_creation_level": "developer", "subgroup_creation_level": "maintainer"}')
content = content.encode("utf-8")
return response(200, content, headers, None, 5, request)
@ -238,7 +240,8 @@ def resp_create_subgroup(url, request):
'"lfs_enabled": true, "avatar_url": "http://localhost:3000/uploads/group/avatar/2/bar.jpg",'
'"web_url": "http://localhost:3000/groups/foo-bar/bar-foo", "request_access_enabled": false,'
'"full_name": "BarFoo Group", "full_path": "foo-bar/bar-foo",'
'"file_template_project_id": 1, "parent_id": 1}')
'"file_template_project_id": 1, "parent_id": 1,'
'"project_creation_level": "noone"}')
content = content.encode("utf-8")
return response(200, content, headers, None, 5, request)

View file

@ -68,32 +68,43 @@ class TestGitlabGroup(GitlabModuleTestCase):
def test_create_group(self):
group = self.moduleUtil.createGroup({'name': "Foobar Group",
'path': "foo-bar",
'description': "An interesting group"})
'description': "An interesting group",
'project_creation_level': "developer",
'subgroup_creation_level': "maintainer"})
self.assertEqual(type(group), Group)
self.assertEqual(group.name, "Foobar Group")
self.assertEqual(group.path, "foo-bar")
self.assertEqual(group.description, "An interesting group")
self.assertEqual(group.project_creation_level, "developer")
self.assertEqual(group.subgroup_creation_level, "maintainer")
self.assertEqual(group.id, 1)
@with_httmock(resp_create_subgroup)
def test_create_subgroup(self):
group = self.moduleUtil.createGroup({'name': "BarFoo Group", 'path': "bar-foo", "parent_id": 1})
group = self.moduleUtil.createGroup({'name': "BarFoo Group",
'path': "bar-foo",
'parent_id': 1,
'project_creation_level': "noone"})
self.assertEqual(type(group), Group)
self.assertEqual(group.name, "BarFoo Group")
self.assertEqual(group.full_path, "foo-bar/bar-foo")
self.assertEqual(group.project_creation_level, "noone")
self.assertEqual(group.id, 2)
self.assertEqual(group.parent_id, 1)
@with_httmock(resp_get_group)
def test_update_group(self):
group = self.gitlab_instance.groups.get(1)
changed, newGroup = self.moduleUtil.updateGroup(group, {'name': "BarFoo Group", "visibility": "private"})
changed, newGroup = self.moduleUtil.updateGroup(group, {'name': "BarFoo Group",
'visibility': "private",
'project_creation_level': "maintainer"})
self.assertEqual(changed, True)
self.assertEqual(newGroup.name, "BarFoo Group")
self.assertEqual(newGroup.visibility, "private")
self.assertEqual(newGroup.project_creation_level, "maintainer")
changed, newGroup = self.moduleUtil.updateGroup(group, {'name': "BarFoo Group"})