mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-05-13 13:02:21 +00:00
Refactored identity_group{,_info} modules
Change-Id: I72dce1278a7623d4f68cabcceafcdfefda900195
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
group_name: ansible_group
|
||||
domain_name: ansible_domain
|
||||
expected_fields:
|
||||
- description
|
||||
- domain_id
|
||||
|
||||
@@ -1,138 +1,220 @@
|
||||
---
|
||||
- name: Create domain
|
||||
openstack.cloud.identity_domain:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: "{{ domain_name }}"
|
||||
register: domain
|
||||
|
||||
- name: Create group
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: "{{ group_name }}"
|
||||
register: group_result
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
description: "ansible group"
|
||||
name: ansible_group
|
||||
register: group
|
||||
|
||||
- name: Assert changed
|
||||
- name: Assert return values of identity_group module
|
||||
assert:
|
||||
that: group_result is changed
|
||||
|
||||
- name: Assert returned fields
|
||||
assert:
|
||||
that: item in group_result.group
|
||||
loop: "{{ expected_fields }}"
|
||||
that:
|
||||
- group.group.name == 'ansible_group'
|
||||
- group.group.description == "ansible group"
|
||||
# allow new fields to be introduced but prevent fields from being removed
|
||||
- expected_fields|difference(group.group.keys())|length == 0
|
||||
|
||||
- name: Create group again
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: "{{ group_name }}"
|
||||
register: group_result
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
description: "ansible group"
|
||||
name: ansible_group
|
||||
register: group
|
||||
|
||||
- name: Assert not changed
|
||||
- name: Assert group did not change
|
||||
assert:
|
||||
that: group_result is not changed
|
||||
that:
|
||||
- group is not changed
|
||||
|
||||
- name: Update group
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: "{{ group_name }}"
|
||||
description: "updated description"
|
||||
register: group_result
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: ansible_group
|
||||
description: "updated description"
|
||||
register: group
|
||||
|
||||
- name: Assert changed
|
||||
assert:
|
||||
that:
|
||||
- group_result is changed
|
||||
- group_result.group.description == "updated description"
|
||||
- group is changed
|
||||
- group.group.description == "updated description"
|
||||
|
||||
- name: Fetch all groups
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
register: _groups
|
||||
|
||||
- name: Assert return values of identity_group_info module
|
||||
assert:
|
||||
that:
|
||||
- _groups.groups | length > 0
|
||||
# allow new fields to be introduced but prevent fields from being removed
|
||||
- expected_fields|difference(_groups.groups.0.keys())|length == 0
|
||||
|
||||
- name: List group with filters
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
domain: default
|
||||
filters:
|
||||
name: ansible_group
|
||||
register: _groups
|
||||
|
||||
- name: Assert group with filters
|
||||
assert:
|
||||
that:
|
||||
- _groups.groups | length == 1
|
||||
- _groups.groups.0.id == group.group.id
|
||||
|
||||
- name: Create domain
|
||||
openstack.cloud.identity_domain:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: ansible_domain
|
||||
register: domain
|
||||
|
||||
- name: Create group in specific domain
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: "{{ group_name }}"
|
||||
domain_id: "{{ domain.domain.id }}"
|
||||
register: group_result
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: ansible_group
|
||||
domain_id: "{{ domain.domain.id }}"
|
||||
register: group
|
||||
|
||||
- name: Assert results
|
||||
assert:
|
||||
that:
|
||||
- group_result is changed
|
||||
- group_result.group.domain_id == domain.domain.id
|
||||
- group is changed
|
||||
- group.group.domain_id == domain.domain.id
|
||||
|
||||
- name: List group by group name
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_group
|
||||
register: _groups
|
||||
|
||||
- name: Assert groups by group name
|
||||
assert:
|
||||
that:
|
||||
- _groups.groups | length == 2
|
||||
|
||||
- name: List group by domain_id
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
domain: ansible_domain
|
||||
register: _groups
|
||||
|
||||
- name: Assert groups by domain_id
|
||||
assert:
|
||||
that:
|
||||
- _groups.groups | length == 1
|
||||
- _groups.groups.0.id == group.group.id
|
||||
- _groups.groups.0.domain_id == domain.domain.id
|
||||
|
||||
- name: List group by domain_id and group name
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
domain: ansible_domain
|
||||
name: ansible_group
|
||||
register: _groups
|
||||
|
||||
- name: Assert groups by domain_id and group name
|
||||
assert:
|
||||
that:
|
||||
- _groups.groups | length == 1
|
||||
- _groups.groups.0.id == group.group.id
|
||||
|
||||
- name: Create group in specific domain again
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: "{{ group_name }}"
|
||||
domain_id: "{{ domain.domain.id }}"
|
||||
register: group_result
|
||||
cloud: "{{ cloud }}"
|
||||
state: present
|
||||
name: ansible_group
|
||||
domain_id: "{{ domain.domain.id }}"
|
||||
register: group
|
||||
|
||||
- name: Assert not changed
|
||||
assert:
|
||||
that: group_result is not changed
|
||||
that:
|
||||
- group is not changed
|
||||
|
||||
- name: Delete ambiguous domain
|
||||
- name: Delete ambiguous group
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: "{{ group_name }}"
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: ansible_group
|
||||
ignore_errors: true
|
||||
register: group_result
|
||||
register: group
|
||||
|
||||
- name: Assert failed
|
||||
assert:
|
||||
that: group_result is failed
|
||||
that:
|
||||
- group is failed
|
||||
|
||||
- name: Delete group in specific domain
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: "{{ group_name }}"
|
||||
domain_id: "{{ domain.domain.id }}"
|
||||
register: group_result
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: ansible_group
|
||||
domain_id: "{{ domain.domain.id }}"
|
||||
register: group
|
||||
|
||||
- name: Assert changed
|
||||
assert:
|
||||
that: group_result is changed
|
||||
that:
|
||||
- group is changed
|
||||
|
||||
- name: Delete group in specific domain again
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: "{{ group_name }}"
|
||||
domain_id: "{{ domain.domain.id }}"
|
||||
register: group_result
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: ansible_group
|
||||
domain_id: "{{ domain.domain.id }}"
|
||||
register: group
|
||||
|
||||
- name: Assert not changed
|
||||
assert:
|
||||
that: group_result is not changed
|
||||
|
||||
- name: Delete group
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: "{{ group_name }}"
|
||||
register: group_result
|
||||
|
||||
- name: Assert changed
|
||||
assert:
|
||||
that: group_result is changed
|
||||
|
||||
- name: Delete group again
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: "{{ group_name }}"
|
||||
register: group_result
|
||||
|
||||
- name: Assert not changed
|
||||
assert:
|
||||
that: group_result is not changed
|
||||
that:
|
||||
- group is not changed
|
||||
|
||||
- name: Delete domain
|
||||
openstack.cloud.identity_domain:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: "{{ domain_name }}"
|
||||
name: ansible_domain
|
||||
|
||||
- name: Delete group
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: ansible_group
|
||||
register: group
|
||||
|
||||
- name: Assert changed
|
||||
assert:
|
||||
that:
|
||||
- group is changed
|
||||
|
||||
- name: Delete group again
|
||||
openstack.cloud.identity_group:
|
||||
cloud: "{{ cloud }}"
|
||||
state: absent
|
||||
name: ansible_group
|
||||
register: group
|
||||
|
||||
- name: Assert not changed
|
||||
assert:
|
||||
that:
|
||||
- group is not changed
|
||||
|
||||
- name: List group
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: ansible_group
|
||||
register: _groups
|
||||
|
||||
- name: Assert group does not exist
|
||||
assert:
|
||||
that:
|
||||
- _groups.groups | length == 0
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
---
|
||||
- name: List group by domain_id
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
domain: default
|
||||
register: group_domain
|
||||
|
||||
- name: Assert groups were returned
|
||||
assert:
|
||||
that:
|
||||
- group_domain.groups | length > 0
|
||||
- group_domain.groups[0].domain_id == 'default'
|
||||
- group_domain.groups[0].id is defined
|
||||
- group_domain.groups[0].description is defined
|
||||
- group_domain.groups[0].name is defined
|
||||
|
||||
- name: List group by domain_id and group
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
domain: default
|
||||
name: admins
|
||||
register: groups_info
|
||||
|
||||
- name: Assert groups by domain_id and grouph returned
|
||||
assert:
|
||||
that:
|
||||
- groups_info.groups | length > 0
|
||||
- groups_info.groups[0].domain_id == 'default'
|
||||
- groups_info.groups[0].id is defined
|
||||
- groups_info.groups[0].description is defined
|
||||
- groups_info.groups[0].name is defined
|
||||
|
||||
- name: List group by filter
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
domain: default
|
||||
filters:
|
||||
name: admins
|
||||
register: groups_filter
|
||||
|
||||
- name: Assert group by filter returned
|
||||
assert:
|
||||
that:
|
||||
- groups_filter.groups | length > 0
|
||||
- groups_filter.groups[0].domain_id == 'default'
|
||||
- groups_filter.groups[0].id is defined
|
||||
- groups_filter.groups[0].description is defined
|
||||
- groups_filter.groups[0].name is defined
|
||||
|
||||
- name: Verify returned values of group info
|
||||
assert:
|
||||
that:
|
||||
- item in groups_info.groups[0]
|
||||
loop:
|
||||
- description
|
||||
- domain_id
|
||||
- id
|
||||
- name
|
||||
|
||||
- name: List group by group name
|
||||
openstack.cloud.identity_group_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: admins
|
||||
register: groups_name
|
||||
|
||||
- name: Assert group by name returned
|
||||
assert:
|
||||
that:
|
||||
- groups_name.groups | length > 0
|
||||
- groups_name.groups[0].domain_id == 'default'
|
||||
- groups_name.groups[0].id is defined
|
||||
- groups_name.groups[0].description is defined
|
||||
- groups_name.groups[0].name is defined
|
||||
- groups_name.groups[0].name == 'admins'
|
||||
@@ -20,7 +20,6 @@
|
||||
- { role: host_aggregate, tags: host_aggregate }
|
||||
- { role: identity_domain, tags: identity_domain }
|
||||
- { role: identity_group, tags: identity_group }
|
||||
- { role: identity_group_info, tags: identity_group_info }
|
||||
- { role: identity_user, tags: identity_user }
|
||||
- { role: identity_user_info, tags: identity_user_info }
|
||||
- { role: identity_role, tags: identity_role }
|
||||
|
||||
Reference in New Issue
Block a user