From a95c222ed6fe8fe49a2611648fdbee4d52ccd502 Mon Sep 17 00:00:00 2001 From: Thomas Woerner <twoerner@redhat.com> Date: Sun, 21 Jul 2024 14:59:55 +0200 Subject: [PATCH] Fix multi user tests The tests test_users_present.yml and test_users_absent.yml has been merged into test_users_present_absent.yml to fix the independent test order execution. The test test_users_present_slice.yml has been renamed to test_users_present_absent_slice.yml. Both tests are cleaning up possible exiting entries before running the tests and are verifying the present and absent task result. --- tests/user/test_users_present.yml | 18 ------- ...sent.yml => test_users_present_absent.yml} | 17 ++++++- .../user/test_users_present_absent_slice.yml | 48 +++++++++++++++++++ tests/user/test_users_present_slice.yml | 23 --------- 4 files changed, 64 insertions(+), 42 deletions(-) delete mode 100644 tests/user/test_users_present.yml rename tests/user/{test_users_absent.yml => test_users_present_absent.yml} (55%) create mode 100644 tests/user/test_users_present_absent_slice.yml delete mode 100644 tests/user/test_users_present_slice.yml diff --git a/tests/user/test_users_present.yml b/tests/user/test_users_present.yml deleted file mode 100644 index c42d152c..00000000 --- a/tests/user/test_users_present.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- name: Include create_users_json.yml - ansible.builtin.import_playbook: create_users_json.yml - -- name: Test users present - hosts: ipaserver - become: true - gather_facts: false - - tasks: - - name: Include users.json - ansible.builtin.include_vars: - file: users.json # noqa missing-import - - - name: Users present len:{{ users | length }} - ipauser: - ipaadmin_password: SomeADMINpassword - users: "{{ users }}" diff --git a/tests/user/test_users_absent.yml b/tests/user/test_users_present_absent.yml similarity index 55% rename from tests/user/test_users_absent.yml rename to tests/user/test_users_present_absent.yml index d59b7d33..38752ce8 100644 --- a/tests/user/test_users_absent.yml +++ b/tests/user/test_users_present_absent.yml @@ -2,7 +2,7 @@ - name: Include create_users_json.yml ansible.builtin.import_playbook: create_users_json.yml -- name: Test users absent +- name: Test users present and absent hosts: ipaserver become: true gather_facts: false @@ -17,8 +17,23 @@ user_names: "{{ user_names | default([]) + [{'name': item.name}] }}" loop: "{{ users }}" + - name: Cleanup test users len:{{ users | length }} + ipauser: + ipaadmin_password: SomeADMINpassword + users: "{{ user_names }}" + state: absent + + - name: Users present len:{{ users | length }} + ipauser: + ipaadmin_password: SomeADMINpassword + users: "{{ users }}" + register: result + failed_when: not result.changed or result.failed + - name: Users absent len:{{ users | length }} ipauser: ipaadmin_password: SomeADMINpassword users: "{{ user_names }}" state: absent + register: result + failed_when: not result.changed or result.failed diff --git a/tests/user/test_users_present_absent_slice.yml b/tests/user/test_users_present_absent_slice.yml new file mode 100644 index 00000000..885d910c --- /dev/null +++ b/tests/user/test_users_present_absent_slice.yml @@ -0,0 +1,48 @@ +--- +- name: Include create_users_json.yml + ansible.builtin.import_playbook: create_users_json.yml + +- name: Test users present and absent with slice + hosts: ipaserver + become: true + gather_facts: false + + vars: + slice_size: 100 + tasks: + - name: Include users.json + ansible.builtin.include_vars: + file: users.json # noqa missing-import + + - name: Create dict with user names + ansible.builtin.set_fact: + user_names: "{{ user_names | default([]) + [{'name': item.name}] }}" + loop: "{{ users }}" + + - name: Size of users slice. + ansible.builtin.debug: + msg: "{{ users | length }}" + + - name: Cleanup test users + ipauser: + ipaadmin_password: SomeADMINpassword + users: "{{ user_names[item : item + slice_size] }}" + state: absent + loop: "{{ range(0, user_names | length, slice_size) | list }}" + + - name: Users present + ipauser: + ipaadmin_password: SomeADMINpassword + users: "{{ users[item : item + slice_size] }}" + loop: "{{ range(0, users | length, slice_size) | list }}" + register: result + failed_when: not result.changed or result.failed + + - name: Users absent + ipauser: + ipaadmin_password: SomeADMINpassword + users: "{{ user_names[item : item + slice_size] }}" + state: absent + loop: "{{ range(0, user_names | length, slice_size) | list }}" + register: result + failed_when: not result.changed or result.failed diff --git a/tests/user/test_users_present_slice.yml b/tests/user/test_users_present_slice.yml deleted file mode 100644 index 98bad4bd..00000000 --- a/tests/user/test_users_present_slice.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -- name: Include create_users_json.yml - ansible.builtin.import_playbook: create_users_json.yml - -- name: Test users present slice - hosts: ipaserver - become: true - gather_facts: false - - vars: - slice_size: 500 - tasks: - - name: Include users.json - ansible.builtin.include_vars: - file: users.json # noqa missing-import - - name: Size of users slice. - ansible.builtin.debug: - msg: "{{ users | length }}" - - name: Users present - ipauser: - ipaadmin_password: SomeADMINpassword - users: "{{ users[item : item + slice_size] }}" - loop: "{{ range(0, users | length, slice_size) | list }}" -- GitLab