1# Test code for the vmware_local_role_manager module
2# Copyright: (c) 2017-2018, Abhijeet Kasurde <akasurde@redhat.com>
3# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
4
5- import_role:
6    name: prepare_vmware_tests
7
8- name: Create a role without privileges in check mode
9  vmware_local_role_manager:
10    hostname: "{{ vcenter_hostname }}"
11    username: "{{ vcenter_username }}"
12    password: "{{ vcenter_password }}"
13    local_role_name: SampleRole_0001
14    validate_certs: false
15    state: present
16  register: role_creation
17  check_mode: true
18
19- name: Verify if role was created
20  assert:
21    that:
22      - role_creation.changed
23
24- &create_role_data
25  name: Create a role without privileges
26  vmware_local_role_manager:
27    hostname: "{{ vcenter_hostname }}"
28    username: "{{ vcenter_username }}"
29    password: "{{ vcenter_password }}"
30    local_role_name: SampleRole_0001
31    validate_certs: false
32    state: present
33  register: role_creation_0001
34
35- name: Verify if role was created
36  assert:
37    that:
38      - role_creation_0001.changed
39
40- <<: *create_role_data
41  name: Again create a role without privileges
42
43- name: verify if role is not created again
44  assert:
45    that:
46      - not role_creation_0001.changed
47
48- &delete_role_data
49  name: Delete a role
50  vmware_local_role_manager:
51    hostname: "{{ vcenter_hostname }}"
52    username: "{{ vcenter_username }}"
53    password: "{{ vcenter_password }}"
54    local_role_name: SampleRole_0001
55    validate_certs: false
56    state: absent
57  register: role_creation_0001
58
59- name: Verify if role is not present
60  assert:
61    that:
62      - role_creation_0001.changed
63
64- <<: *delete_role_data
65  name: Delete role again
66
67- name: Verify if role is absent again
68  assert:
69    that:
70      - not role_creation_0001.changed
71
72- name: Create a role with privileges
73  vmware_local_role_manager:
74    hostname: "{{ vcenter_hostname }}"
75    username: "{{ vcenter_username }}"
76    password: "{{ vcenter_password }}"
77    local_role_name: SampleRole_0001
78    validate_certs: false
79    local_privilege_ids: ['VirtualMachine.State.RenameSnapshot']
80    state: present
81  register: role_creation_0001
82
83- name: Verify if role is created with privileges
84  assert:
85    that:
86      - role_creation_0001.changed
87
88- &exist_role_data
89  name: Add a privilege to existing privileges
90  vmware_local_role_manager:
91    hostname: "{{ vcenter_hostname }}"
92    username: "{{ vcenter_username }}"
93    password: "{{ vcenter_password }}"
94    local_role_name: SampleRole_0001
95    validate_certs: false
96    local_privilege_ids: ['Folder.Create']
97    action: add
98    state: present
99  register: role_add
100
101- name: Verify if role is updated with updated privileges
102  assert:
103    that:
104      - role_add.changed
105
106- <<: *exist_role_data
107  name: Again add a privilege to existing privileges
108
109- name: Verify if role is not updated
110  assert:
111    that:
112      - not role_add.changed
113
114- &remove_role_data
115  name: Remove a privilege from existing privileges
116  vmware_local_role_manager:
117    hostname: "{{ vcenter_hostname }}"
118    username: "{{ vcenter_username }}"
119    password: "{{ vcenter_password }}"
120    local_role_name: SampleRole_0001
121    validate_certs: false
122    local_privilege_ids: ['Folder.Create']
123    action: remove
124  register: role_remove
125
126- name: verify if role is updated with privileges
127  assert:
128    that:
129      - role_remove.changed
130
131- <<: *remove_role_data
132  name: Again remove a privilege from existing privileges
133
134- name: Verify if role is not updated
135  assert:
136    that:
137      - not role_remove.changed
138
139- &set_priv_role_data
140  name: Set a privilege to an existing role
141  vmware_local_role_manager:
142    hostname: "{{ vcenter_hostname }}"
143    username: "{{ vcenter_username }}"
144    password: "{{ vcenter_password }}"
145    local_role_name: SampleRole_0001
146    validate_certs: false
147    local_privilege_ids: ['Folder.Create']
148    action: set
149  register: role_set
150
151- name: Verify if role is updated with privileges
152  assert:
153    that:
154      - role_set.changed
155
156- <<: *set_priv_role_data
157  name: Again set a privilege to an existing role
158
159- name: verify if role is not updated
160  assert:
161    that:
162      - not role_set.changed
163