1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/tests/integration/targets/gitlab_project_members/tasks/main.yml
Max Bidlingmaier 7a2efb4775
Get behavior of gitlab_project_members to the one of gitlab_group_members (#3319)
* Initial change to get behaviour of gitlab_project_members like the new gitlab_group_members

* added changelog

* linter: removed trainling whitespaces

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

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

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

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

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

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

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

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

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

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

* requested changes

* linter fixes

* undoing formatting changes to existing code

Co-authored-by: Max-Florian Bidlingmaier <Max.Bidlingmaier@konsolan.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Max Bidlingmaier <Max-Florian.Bidlingmaier@sap.com>
2021-09-16 22:26:31 +02:00

123 lines
4.2 KiB
YAML

####################################################################
# WARNING: These are designed specifically for Ansible tests #
# and should not be used as examples of how to write Ansible roles #
####################################################################
# Test code for gitlab_project_members module
#
# Copyright: (c) 2021, Sergey Mikhaltsov <metanovii@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
- name: Install required library
pip:
name: python-gitlab
state: present
- name: Clean UP before tests
community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
state: absent
- name: Add a User to A GitLab Project
community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
access_level: "{{ gitlab_access_level }}"
state: present
register: gitlab_project_members_state
- name: Test member added to project
assert:
that:
- gitlab_project_members_state is changed
- name: Add a User to A GitLab Project ( Idempotency test )
community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
access_level: "{{ gitlab_access_level }}"
state: present
register: gitlab_project_members_state_again
- name: Test module is idempotent
assert:
that:
- gitlab_project_members_state_again is not changed
- name: Remove a User from A GitLab Project
community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
state: absent
register: remove_gitlab_project_members_state
- name: Test member removed from project
assert:
that:
- remove_gitlab_project_members_state is changed
- name: Remove a User from A GitLab Project ( Idempotency test )
community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
state: absent
register: remove_gitlab_project_members_state_again
- name: Test module is idempotent
assert:
that:
- remove_gitlab_project_members_state_again is not changed
- name: Add a list of Users to A GitLab Project
community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ userlist }}"
access_level: "{{ gitlab_access_level }}"
state: present
- name: Remove a list of Users to A GitLab Project
community.general.gitlab_project_members::
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ userlist }}"
state: absent
- name: Add a list of Users with Dedicated Access Levels to A GitLab Project
community.general.gitlab_project_members::
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_users_access: "{{ dedicated_access_users }}"
state: present
- name: Remove a list of Users with Dedicated Access Levels to A GitLab Project
community.general.gitlab_project_members::
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_users_access: "{{ dedicated_access_users }}"
state: absent
- name: Add a user, remove all others which might be on this access level
community.general.gitlab_project_members::
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
access_level: "{{ gitlab_access_level }}"
pruge_users: "{{ gitlab_access_level }}"
state: present