diff --git a/plugins/modules/ipagroup.py b/plugins/modules/ipagroup.py index ad999f30e34ee45c40c621c5ffa9ab70ed1b9e7d..50838cbffc3d55a2e993d2bfa241f25243187bf1 100644 --- a/plugins/modules/ipagroup.py +++ b/plugins/modules/ipagroup.py @@ -408,7 +408,10 @@ def main(): try: result = api_command(ansible_module, command, name, args) - if "completed" in result and result["completed"] > 0: + if "completed" in result: + if result["completed"] > 0: + changed = True + else: changed = True except Exception as e: ansible_module.fail_json(msg="%s: %s: %s" % (command, name, diff --git a/tests/group/test_group.yml b/tests/group/test_group.yml new file mode 100644 index 0000000000000000000000000000000000000000..5fc63dd1b5d7139717bd0386841c1cdb962d094f --- /dev/null +++ b/tests/group/test_group.yml @@ -0,0 +1,175 @@ +--- +- name: Tests + hosts: ipaserver + become: true + gather_facts: false + + tasks: + - name: Ensure users user1, user2 and user3 are absent + ipauser: + ipaadmin_password: MyPassword123 + name: user1,user2,user3 + state: absent + + - name: Ensure group group3, group2 and group1 are absent + ipagroup: + ipaadmin_password: MyPassword123 + name: group3,group2,group1 + state: absent + + - name: Ensure users user1..user3 are present + ipauser: + ipaadmin_password: MyPassword123 + users: + - name: user1 + first: user1 + last: Last + - name: user2 + first: user2 + last: Last + - name: user3 + first: user3 + last: Last + register: result + failed_when: not result.changed + + - name: Ensure group1 is present + ipagroup: + ipaadmin_password: MyPassword123 + name: group1 + register: result + failed_when: not result.changed + + - name: Ensure group1 is present again + ipagroup: + ipaadmin_password: MyPassword123 + name: group1 + register: result + failed_when: result.changed + + - name: Ensure group2 is present + ipagroup: + ipaadmin_password: MyPassword123 + name: group2 + register: result + failed_when: not result.changed + + - name: Ensure group2 is present again + ipagroup: + ipaadmin_password: MyPassword123 + name: group2 + register: result + failed_when: result.changed + + - name: Ensure group3 is present + ipagroup: + ipaadmin_password: MyPassword123 + name: group3 + register: result + failed_when: not result.changed + + - name: Ensure group3 is present again + ipagroup: + ipaadmin_password: MyPassword123 + name: group3 + register: result + failed_when: result.changed + + - name: Ensure groups group2 and group3 are present in group group1 + ipagroup: + ipaadmin_password: MyPassword123 + name: group1 + group: + - group2 + - group3 + action: member + register: result + failed_when: not result.changed + + - name: Ensure groups group2 and group3 are present in group group1 again + ipagroup: + ipaadmin_password: MyPassword123 + name: group1 + group: + - group2 + - group3 + action: member + register: result + failed_when: result.changed + + - name: Ensure group3 ia present in group group1 + ipagroup: + ipaadmin_password: MyPassword123 + name: group1 + group: + - group3 + action: member + register: result + failed_when: result.changed + + - name: Ensure users user1, user2 and user3 are present in group group1 + ipagroup: + ipaadmin_password: MyPassword123 + name: group1 + user: + - user1 + - user2 + - user3 + action: member + register: result + failed_when: not result.changed + + - name: Ensure users user1, user2 and user3 are present in group group1 again + ipagroup: + ipaadmin_password: MyPassword123 + name: group1 + user: + - user1 + - user2 + - user3 + action: member + register: result + failed_when: result.changed + + #- ipagroup: + # ipaadmin_password: MyPassword123 + # name: group1 + # user: + # - user7 + # action: member + + - name: Ensure user user7 is absent in group group1 + ipagroup: + ipaadmin_password: MyPassword123 + name: group1 + user: + - user7 + action: member + state: absent + register: result + failed_when: result.changed + + - name: Ensure group group4 is absent + ipagroup: + ipaadmin_password: MyPassword123 + name: group4 + state: absent + register: result + failed_when: result.changed + + - name: Ensure group group3, group2 and group1 are absent + ipagroup: + ipaadmin_password: MyPassword123 + name: group3,group2,group1 + state: absent + register: result + failed_when: not result.changed + + - name: Ensure users user1, user2 and user3 are absent + ipauser: + ipaadmin_password: MyPassword123 + name: user1,user2,user3 + state: absent + register: result + failed_when: not result.changed +