Files
ansible-freeipa/tests/netgroup/test_netgroup_member_case_insensitive.yml
Denis Karpelevich 495677df38 New netgroup management module
There is a new netgroup management module placed in the plugins folder:

    plugins/modules/ipanetgroup.py

The netgroup module allows to ensure presence or absence of netgroup
and manage netgroup members.

Here is the documentation for the module:

    README-netgroup.md

New example playbooks have been added:

    playbooks/netgroup/netgroup-absent.yml
    playbooks/netgroup/netgroup-member-absent.yml
    playbooks/netgroup/netgroup-member-present.yml
    playbooks/netgroup/netgroup-present.yml

New tests for the module:

    tests/netgroup/test_netgroup.yml
    tests/netgroup/test_netgroup_client_context.yml
    tests/netgroup/test_netgroup_member.yml
    tests/netgroup/test_netgroup_member_absent.yml
    tests/netgroup/test_netgroup_member_case_insensitive.yml

Signed-off-by: Denis Karpelevich <dkarpele@redhat.com>
2022-10-19 21:38:39 +02:00

252 lines
7.6 KiB
YAML

---
- name: Test netgroup members should be case insensitive.
hosts: "{{ ipa_test_host | default('ipaserver') }}"
become: no
gather_facts: no
vars:
groups_present:
- eleMENT1
- Element2
- eLeMenT3
- ElemENT4
tasks:
- block:
# SETUP
- name: Get Domain from server name
set_fact:
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
when: ipaserver_domain is not defined
- name: Ensure test groups exist.
ipagroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
loop: "{{ groups_present }}"
- name: Ensure test hostgroups exist.
ipahostgroup:
ipaadmin_password: SomeADMINpassword
name: "hostgroup{{ item }}"
loop: "{{ groups_present }}"
- name: Ensure test netgroups exist.
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "netgroup{{ item }}"
loop: "{{ groups_present }}"
- name: Ensure test hosts exist.
ipahost:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}.{{ ipaserver_domain }}"
force: yes
loop: "{{ groups_present }}"
- name: Ensure test users exist.
ipauser:
ipaadmin_password: SomeADMINpassword
name: "user{{ item }}"
first: "{{ item }}"
last: "{{ item }}"
loop: "{{ groups_present }}"
- name: Ensure netgroups don't exist
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
state: absent
loop: "{{ groups_present }}"
# TESTS
- name: Start tests.
debug:
msg: "Tests are starting."
- name: Ensure netgroups exist
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or not result.changed
- name: Ensure netgroups exist with members
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item }}"
host: "{{ item }}.{{ ipaserver_domain }}"
group: "{{ item }}"
user: "user{{ item }}"
netgroup: "netgroup{{ item }}"
action: member
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or not result.changed
- name: Ensure netgroups exist with members, lowercase
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item | lower }}"
host: "{{ item | lower }}.{{ ipaserver_domain }}"
group: "{{ item | lower }}"
user: "user{{ item | lower }}"
netgroup: "netgroup{{ item | lower }}"
action: member
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or result.changed
- name: Ensure netgroups exist with members, uppercase
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item | upper }}"
host: "{{ item | upper }}.{{ ipaserver_domain }}"
group: "{{ item | upper }}"
user: "user{{ item | upper }}"
netgroup: "netgroup{{ item | upper }}"
action: member
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or result.changed
- name: Ensure netgroup member is absent
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item }}"
host: "{{ item }}.{{ ipaserver_domain }}"
group: "{{ item }}"
user: "user{{ item }}"
netgroup: "netgroup{{ item }}"
action: member
state: absent
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or not result.changed
- name: Ensure netgroup member is absent, lowercase
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item | lower }}"
host: "{{ item | lower }}.{{ ipaserver_domain }}"
group: "{{ item | lower }}"
user: "user{{ item | lower }}"
netgroup: "netgroup{{ item | lower }}"
action: member
state: absent
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or result.changed
- name: Ensure netgroup member is absent, uppercase
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item | upper }}"
host: "{{ item | upper }}.{{ ipaserver_domain }}"
group: "{{ item | upper }}"
user: "user{{ item | upper }}"
netgroup: "netgroup{{ item | upper }}"
action: member
state: absent
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or result.changed
- name: Ensure netgroup member is present, uppercase
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item | upper }}"
host: "{{ item | upper }}.{{ ipaserver_domain }}"
group: "{{ item | upper }}"
user: "user{{ item | upper }}"
netgroup: "netgroup{{ item | upper }}"
action: member
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or not result.changed
- name: Ensure netgroup member is present, lowercase
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item | lower }}"
host: "{{ item | lower }}.{{ ipaserver_domain }}"
group: "{{ item | lower }}"
user: "user{{ item | lower }}"
netgroup: "netgroup{{ item | lower }}"
action: member
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or result.changed
- name: Ensure netgroup member is present, mixed case
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
hostgroup: "hostgroup{{ item }}"
host: "{{ item }}.{{ ipaserver_domain }}"
group: "{{ item }}"
user: "user{{ item }}"
netgroup: "netgroup{{ item }}"
action: member
loop: "{{ groups_present }}"
register: result
failed_when: result.failed or result.changed
- name: End tests.
debug:
msg: "All tests executed."
always:
# cleanup
- name: Ensure netgroups do not exist
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
state: absent
loop: "{{ groups_present }}"
- name: Ensure test groups do not exist.
ipagroup:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}"
state: absent
loop: "{{ groups_present }}"
- name: Ensure test hostgroups do not exist.
ipahostgroup:
ipaadmin_password: SomeADMINpassword
name: "hostgroup{{ item }}"
state: absent
loop: "{{ groups_present }}"
- name: Ensure test netgroups do not exist.
ipanetgroup:
ipaadmin_password: SomeADMINpassword
name: "netgroup{{ item }}"
state: absent
loop: "{{ groups_present }}"
- name: Ensure test hosts do not exist.
ipahost:
ipaadmin_password: SomeADMINpassword
name: "{{ item }}.{{ ipaserver_domain }}"
state: absent
loop: "{{ groups_present }}"
- name: Ensure test users do not exist.
ipauser:
ipaadmin_password: SomeADMINpassword
name: "user{{ item }}"
state: absent
loop: "{{ groups_present }}"