223e1675f4
Refactoring to avoid the use of `json_query`. As a bonus point, we now also ensure `NoAccess` role has no provilege.
46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
# Test code for the vmware_local_role_facts module
|
|
# Copyright: (c) 2018, Abhijeet Kasurde <akasurde@redhat.com>
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
- import_role:
|
|
name: prepare_vmware_tests
|
|
|
|
- name: Set list of Roles in fact
|
|
set_fact:
|
|
role_list:
|
|
- Admin
|
|
# With govcsim, NoCryptoAdmin has no privilege.
|
|
# - NoCryptoAdmin
|
|
- Anonymous
|
|
- ReadOnly
|
|
|
|
- &role_data
|
|
name: Gather Role facts
|
|
vmware_local_role_facts:
|
|
hostname: "{{ vcenter_hostname }}"
|
|
username: "{{ vcenter_username }}"
|
|
password: "{{ vcenter_password }}"
|
|
validate_certs: no
|
|
register: role_details
|
|
|
|
- &list_to_dict
|
|
name: List to dict
|
|
set_fact:
|
|
role_dict: "{{ dict(role_details.local_role_facts|map(attribute='role_name')|zip(role_details.local_role_facts)) }}"
|
|
|
|
- name: Test if NoAccess has no privilege
|
|
assert:
|
|
that: "{{ role_dict['NoAccess']['privileges'] | list | length == 0 }}"
|
|
|
|
- &role_test
|
|
name: Test if role id is present for role
|
|
assert:
|
|
that: "{{ role_dict[item]['privileges'] | list | length > 0 }}"
|
|
with_items: "{{ role_list }}"
|
|
|
|
- <<: *role_data
|
|
name: Gather Role facts in check mode
|
|
check_mode: yes
|
|
|
|
- <<: *role_test
|
|
name: Test if role id is present for role in check mode
|