mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-27 18:50:21 -07:00
New module: dpkg_divert (#417)
* feature: module dpkg_divert + tests * try to skip non-deb linux distrib * use collection namespace in EXAMPLES * skip unsupported OS/distrib in tasks instead * tests: remove unskipped distribs * apply changes suggested by Andersson007 * Remove ANSIBLE_METADATA (no more needed). * Normalize docstrings (capitalize descriptions, fix styling, use yes/no booleans). * fix descriptions * update DOCUMENTATION * Drop field 'version_added' (no more needed). * Add a note about check_mode support. * use list comprehension * support diff mode * Move 'before'/'after' dicts into 'diff' dictionary. * Set 'diversion' as the actual state (or the state that would be reached, when in check mode). * Always return 'diversion' on handled exits (exit_json & fail_json). * enable 'diff' mode in tests, add missing 'become'
This commit is contained in:
parent
e47da0f512
commit
8635cd84d4
7 changed files with 1085 additions and 0 deletions
5
tests/integration/targets/dpkg_divert/aliases
Normal file
5
tests/integration/targets/dpkg_divert/aliases
Normal file
|
@ -0,0 +1,5 @@
|
|||
shippable/posix/group4
|
||||
skip/aix
|
||||
skip/osx
|
||||
skip/rhel
|
||||
skip/freebsd
|
4
tests/integration/targets/dpkg_divert/tasks/main.yml
Normal file
4
tests/integration/targets/dpkg_divert/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
- name: "include tasks for Debian family"
|
||||
include_tasks: prepare.yml
|
||||
when: ansible_pkg_mgr == "apt"
|
39
tests/integration/targets/dpkg_divert/tasks/prepare.yml
Normal file
39
tests/integration/targets/dpkg_divert/tasks/prepare.yml
Normal file
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
- name: "set variables for the entire playbook"
|
||||
set_fact:
|
||||
foobarrc: "{{ foobarrc }}"
|
||||
foobarrc_ansible: "{{ foobarrc }}.ansible"
|
||||
foobarrc_distrib: "{{ foobarrc }}.distrib"
|
||||
foobarrc_oldtext: "# foobar configuration file\n# Please refer to the documentation for details\n"
|
||||
foobarrc_oldsha1: "e1c54c36d2fd1b8d67d1826e49b95ac8c0f24c0a"
|
||||
foobarrc_newtext: "# Custom foobar configuration file\nFOO=bar\nBAR=foo"
|
||||
foobarrc_newsha1: "3fe6c890519fb48e27c1b0e3e37afb11357d5cac"
|
||||
vars:
|
||||
foobarrc: "/etc/foobarrc"
|
||||
|
||||
- name: "remove foobarrc diversion"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
become: yes
|
||||
|
||||
- name: "remove test files"
|
||||
file:
|
||||
path: "{{ dpkg_divert_item }}"
|
||||
state: absent
|
||||
loop:
|
||||
- "{{ foobarrc_ansible }}"
|
||||
- "{{ foobarrc_distrib }}"
|
||||
loop_control:
|
||||
loop_var: dpkg_divert_item
|
||||
become: yes
|
||||
|
||||
|
||||
- block:
|
||||
- name: "include tasks to perform basic tests (create, remove, update)"
|
||||
include_tasks: tests/01-basic.yml
|
||||
|
||||
- name: "include tasks to perform other tests (rename)"
|
||||
include_tasks: tests/02-rename.yml
|
||||
become: yes
|
||||
diff: yes
|
287
tests/integration/targets/dpkg_divert/tasks/tests/01-basic.yml
Normal file
287
tests/integration/targets/dpkg_divert/tasks/tests/01-basic.yml
Normal file
|
@ -0,0 +1,287 @@
|
|||
---
|
||||
################################################################################
|
||||
# TEST 01: state=present
|
||||
|
||||
- name: "create foobarrc for tests"
|
||||
copy:
|
||||
dest: "{{ foobarrc }}"
|
||||
content: "{{ foobarrc_oldtext }}"
|
||||
|
||||
|
||||
- name: "divert foobarrc (check mode, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: present
|
||||
register: diversion_0
|
||||
check_mode: true
|
||||
|
||||
- name: "divert foobarrc (must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: present
|
||||
register: diversion_1
|
||||
|
||||
|
||||
- name: "divert foobarrc (must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: present
|
||||
register: diversion_2
|
||||
|
||||
- name: "divert foobarrc (check mode, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: present
|
||||
register: diversion_3
|
||||
check_mode: true
|
||||
|
||||
|
||||
# Ensure that 'rename' has no effect when state is not changed
|
||||
|
||||
- name: "divert foobarrc (rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: present
|
||||
rename: yes
|
||||
register: diversion_4
|
||||
|
||||
- name: "divert foobarrc (check mode, rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: present
|
||||
rename: yes
|
||||
register: diversion_5
|
||||
check_mode: true
|
||||
|
||||
|
||||
# Check results
|
||||
|
||||
- name: "stat foobarrc (must still be there)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_6
|
||||
|
||||
- name: "stat foobarrc.distrib (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_distrib }}"
|
||||
register: diversion_7
|
||||
|
||||
- name: "assert that results of test 01 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is changed
|
||||
- diversion_1 is changed
|
||||
- diversion_2 is not changed
|
||||
- diversion_3 is not changed
|
||||
- diversion_4 is not changed
|
||||
- diversion_5 is not changed
|
||||
- diversion_6.stat.exists
|
||||
- diversion_6.stat.checksum == foobarrc_oldsha1
|
||||
- not diversion_7.stat.exists
|
||||
- diversion_0.diversion == diversion_1.diversion
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_4.diversion == diversion_5.diversion
|
||||
- diversion_0.commands == diversion_1.commands
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
- diversion_4.commands == diversion_5.commands
|
||||
quiet: yes
|
||||
|
||||
|
||||
################################################################################
|
||||
# TEST 02: state=absent
|
||||
|
||||
- name: "remove diversion for foobarrc (check mode, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
register: diversion_0
|
||||
check_mode: true
|
||||
|
||||
- name: "remove diversion for foobarrc (must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
register: diversion_1
|
||||
|
||||
|
||||
- name: "remove diversion for foobarrc (must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
register: diversion_2
|
||||
|
||||
- name: "remove diversion for foobarrc (check mode, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
register: diversion_3
|
||||
check_mode: true
|
||||
|
||||
|
||||
# Check results
|
||||
|
||||
- name: "stat foobarrc (must still be there)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_4
|
||||
|
||||
- name: "stat foobarrc.distrib (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_distrib }}"
|
||||
register: diversion_5
|
||||
|
||||
- name: "assert that results of test 02 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is changed
|
||||
- diversion_1 is changed
|
||||
- diversion_2 is not changed
|
||||
- diversion_3 is not changed
|
||||
- diversion_4.stat.exists
|
||||
- diversion_4.stat.checksum == foobarrc_oldsha1
|
||||
- not diversion_5.stat.exists
|
||||
- diversion_0.diversion == diversion_1.diversion
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_0.commands == diversion_1.commands
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
quiet: yes
|
||||
|
||||
|
||||
################################################################################
|
||||
# TEST 03: holder=ansible
|
||||
|
||||
- name: "create foobarrc diversion with defaults"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
|
||||
|
||||
- name: "update foobarrc diversion holder (check mode, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
holder: "ansible"
|
||||
register: diversion_0
|
||||
check_mode: yes
|
||||
|
||||
- name: "update foobarrc diversion holder (must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
holder: "ansible"
|
||||
register: diversion_1
|
||||
|
||||
|
||||
- name: "update foobarrc diversion holder (must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
holder: "ansible"
|
||||
register: diversion_2
|
||||
|
||||
- name: "update foobarrc diversion holder (check mode, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
holder: "ansible"
|
||||
register: diversion_3
|
||||
check_mode: yes
|
||||
|
||||
|
||||
# Check results
|
||||
|
||||
- name: "stat foobarrc (must still be there)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_4
|
||||
|
||||
- name: "stat foobarrc.distrib (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_distrib }}"
|
||||
register: diversion_5
|
||||
|
||||
- name: "assert that results of test 03 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is changed
|
||||
- diversion_1 is changed
|
||||
- diversion_2 is not changed
|
||||
- diversion_3 is not changed
|
||||
- diversion_4.stat.exists
|
||||
- diversion_4.stat.checksum == foobarrc_oldsha1
|
||||
- not diversion_5.stat.exists
|
||||
- diversion_0.diversion == diversion_1.diversion
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_0.commands == diversion_1.commands
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
quiet: yes
|
||||
|
||||
- name: "remove foobarrc diversion"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
|
||||
|
||||
################################################################################
|
||||
# TEST 04: divert=/etc/foobarrc.ansible
|
||||
|
||||
- name: "create foobarrc diversion with defaults"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
|
||||
|
||||
- name: "update foobarrc divert path (check mode, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
divert: "{{ foobarrc_ansible }}"
|
||||
register: diversion_0
|
||||
check_mode: yes
|
||||
|
||||
- name: "update foobarrc divert path (must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
divert: "{{ foobarrc_ansible }}"
|
||||
register: diversion_1
|
||||
|
||||
|
||||
- name: "update foobarrc divert path (must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
divert: "{{ foobarrc_ansible }}"
|
||||
register: diversion_2
|
||||
|
||||
- name: "update foobarrc divert path (check mode, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
divert: "{{ foobarrc_ansible }}"
|
||||
register: diversion_3
|
||||
check_mode: yes
|
||||
|
||||
|
||||
# Check results
|
||||
|
||||
- name: "stat foobarrc (must still be there)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_4
|
||||
|
||||
- name: "stat foobarrc.ansible (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_ansible }}"
|
||||
register: diversion_5
|
||||
|
||||
- name: "assert that results of test 04 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is changed
|
||||
- diversion_1 is changed
|
||||
- diversion_2 is not changed
|
||||
- diversion_3 is not changed
|
||||
- diversion_4.stat.exists
|
||||
- diversion_4.stat.checksum == foobarrc_oldsha1
|
||||
- not diversion_5.stat.exists
|
||||
- diversion_0.diversion == diversion_1.diversion
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_0.commands == diversion_1.commands
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
quiet: yes
|
||||
|
||||
- name: "remove foobarrc diversion"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
380
tests/integration/targets/dpkg_divert/tasks/tests/02-rename.yml
Normal file
380
tests/integration/targets/dpkg_divert/tasks/tests/02-rename.yml
Normal file
|
@ -0,0 +1,380 @@
|
|||
---
|
||||
################################################################################
|
||||
# TEST 05: rename=yes, state=present
|
||||
|
||||
- name: "create diversion for foobarrc (check mode, rename, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
register: diversion_0
|
||||
check_mode: yes
|
||||
|
||||
- name: "create diversion for foobarrc (rename, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
register: diversion_1
|
||||
|
||||
|
||||
- name: "create diversion for foobarrc (rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
register: diversion_2
|
||||
|
||||
- name: "create diversion for foobarrc (check mode, rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
register: diversion_3
|
||||
check_mode: yes
|
||||
|
||||
|
||||
# Get results
|
||||
|
||||
- name: "stat foobarrc (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_4
|
||||
|
||||
- name: "stat foobarrc.distrib (must exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_distrib }}"
|
||||
register: diversion_5
|
||||
|
||||
- name: "assert that results of test 05 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is changed
|
||||
- diversion_1 is changed
|
||||
- diversion_2 is not changed
|
||||
- diversion_3 is not changed
|
||||
- not diversion_4.stat.exists
|
||||
- diversion_5.stat.exists
|
||||
- diversion_5.stat.checksum == foobarrc_oldsha1
|
||||
- diversion_0.diversion == diversion_1.diversion
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_0.commands == diversion_1.commands
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
quiet: yes
|
||||
|
||||
|
||||
################################################################################
|
||||
# TEST 06: rename=yes, state=absent
|
||||
|
||||
- name: "remove diversion for foobarrc (check mode, rename, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
state: absent
|
||||
register: diversion_0
|
||||
check_mode: yes
|
||||
|
||||
- name: "remove diversion for foobarrc (rename, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
state: absent
|
||||
register: diversion_1
|
||||
|
||||
|
||||
- name: "remove diversion for foobarrc (rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
state: absent
|
||||
register: diversion_2
|
||||
|
||||
- name: "remove diversion for foobarrc (check mode, rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
state: absent
|
||||
register: diversion_3
|
||||
check_mode: yes
|
||||
|
||||
|
||||
# Check results
|
||||
|
||||
- name: "stat foobarrc (must exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_4
|
||||
|
||||
- name: "stat foobarrc.distrib (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_distrib }}"
|
||||
register: diversion_5
|
||||
|
||||
- name: "assert that results of test 06 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is changed
|
||||
- diversion_1 is changed
|
||||
- diversion_2 is not changed
|
||||
- diversion_3 is not changed
|
||||
- diversion_4.stat.exists
|
||||
- diversion_4.stat.checksum == foobarrc_oldsha1
|
||||
- not diversion_5.stat.exists
|
||||
- diversion_0.diversion == diversion_1.diversion
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_0.commands == diversion_1.commands
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
quiet: yes
|
||||
|
||||
|
||||
################################################################################
|
||||
# TEST 07: rename=yes, force=yes, state=present
|
||||
|
||||
- name: "create foobarrc.distrib for tests"
|
||||
copy:
|
||||
dest: "{{ foobarrc_distrib }}"
|
||||
content: "{{ foobarrc_oldtext }}"
|
||||
|
||||
|
||||
- name: "create diversion for foobarrc (check mode, rename, must fail)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
register: diversion_0
|
||||
ignore_errors: yes
|
||||
check_mode: yes
|
||||
|
||||
- name: "create diversion for foobarrc (rename, must fail)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
register: diversion_1
|
||||
ignore_errors: yes
|
||||
|
||||
|
||||
- name: "create diversion for foobarrc (check mode, force rename, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
force: yes
|
||||
register: diversion_2
|
||||
check_mode: yes
|
||||
|
||||
- name: "create diversion for foobarrc (force rename, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
force: yes
|
||||
register: diversion_3
|
||||
|
||||
|
||||
- name: "create diversion for foobarrc (force rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
force: yes
|
||||
register: diversion_4
|
||||
|
||||
- name: "create diversion for foobarrc (check mode, force rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
rename: yes
|
||||
force: yes
|
||||
register: diversion_5
|
||||
check_mode: yes
|
||||
|
||||
|
||||
# Check results
|
||||
|
||||
- name: "stat foobarrc (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_6
|
||||
|
||||
- name: "stat foobarrc.distrib (must exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_distrib }}"
|
||||
register: diversion_7
|
||||
|
||||
- name: "assert that results of test 07 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is failed
|
||||
- diversion_1 is failed
|
||||
- diversion_2 is changed
|
||||
- diversion_3 is changed
|
||||
- diversion_4 is not changed
|
||||
- diversion_5 is not changed
|
||||
- not diversion_6.stat.exists
|
||||
- diversion_7.stat.exists
|
||||
- diversion_7.stat.checksum == foobarrc_oldsha1
|
||||
- diversion_0 == diversion_1
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_4.diversion == diversion_5.diversion
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
- diversion_4.commands == diversion_5.commands
|
||||
quiet: yes
|
||||
|
||||
|
||||
################################################################################
|
||||
# TEST 08: state=present, update an existing divert path
|
||||
|
||||
- name: "create foobarrc with new contents for tests"
|
||||
copy:
|
||||
dest: "{{ foobarrc }}"
|
||||
content: "{{ foobarrc_newtext }}"
|
||||
|
||||
|
||||
- name: "create diversion for foobarrc (check mode, update divert path, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
divert: "{{ foobarrc_ansible }}"
|
||||
register: diversion_0
|
||||
check_mode: yes
|
||||
|
||||
- name: "create diversion for foobarrc (update divert path, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
divert: "{{ foobarrc_ansible }}"
|
||||
register: diversion_1
|
||||
|
||||
|
||||
- name: "create diversion for foobarrc (update divert path, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
divert: "{{ foobarrc_ansible }}"
|
||||
register: diversion_2
|
||||
|
||||
- name: "create diversion for foobarrc (check mode, update divert path, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
divert: "{{ foobarrc_ansible }}"
|
||||
register: diversion_3
|
||||
check_mode: yes
|
||||
|
||||
|
||||
# Check results
|
||||
|
||||
- name: "stat foobarrc (must exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_4
|
||||
|
||||
- name: "stat foobarrc.ansible (must exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_ansible }}"
|
||||
register: diversion_5
|
||||
|
||||
- name: "stat foobarrc.distrib (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_distrib }}"
|
||||
register: diversion_6
|
||||
|
||||
- name: "assert that results of test 08 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is changed
|
||||
- diversion_1 is changed
|
||||
- diversion_2 is not changed
|
||||
- diversion_3 is not changed
|
||||
- diversion_4.stat.exists
|
||||
- diversion_4.stat.checksum == foobarrc_newsha1
|
||||
- diversion_5.stat.exists
|
||||
- diversion_5.stat.checksum == foobarrc_oldsha1
|
||||
- not diversion_6.stat.exists
|
||||
- diversion_0.diversion == diversion_1.diversion
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_0.commands == diversion_1.commands
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
quiet: yes
|
||||
|
||||
|
||||
################################################################################
|
||||
# TEST 09: rename=yes, force=yes, state=absent
|
||||
|
||||
- name: "remove diversion for foobarrc (check mode, rename, must fail)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
rename: yes
|
||||
register: diversion_0
|
||||
ignore_errors: yes
|
||||
check_mode: yes
|
||||
|
||||
- name: "remove diversion for foobarrc (rename, must fail)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
rename: yes
|
||||
register: diversion_1
|
||||
ignore_errors: yes
|
||||
|
||||
|
||||
- name: "remove diversion for foobarrc (check mode, force rename, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
rename: yes
|
||||
force: yes
|
||||
register: diversion_2
|
||||
check_mode: yes
|
||||
|
||||
- name: "remove diversion for foobarrc (force rename, must report a change)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
rename: yes
|
||||
force: yes
|
||||
register: diversion_3
|
||||
|
||||
|
||||
- name: "remove diversion for foobarrc (force rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
rename: yes
|
||||
force: yes
|
||||
register: diversion_4
|
||||
|
||||
- name: "remove diversion for foobarrc (check mode, force rename, must NOT report a change, idempotency)"
|
||||
dpkg_divert:
|
||||
path: "{{ foobarrc }}"
|
||||
state: absent
|
||||
rename: yes
|
||||
force: yes
|
||||
register: diversion_5
|
||||
check_mode: yes
|
||||
|
||||
|
||||
# Check results
|
||||
|
||||
- name: "stat foobarrc (must exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc }}"
|
||||
register: diversion_6
|
||||
|
||||
- name: "stat foobarrc.distrib (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_distrib }}"
|
||||
register: diversion_7
|
||||
|
||||
- name: "stat foobarrc.ansible (must not exist)"
|
||||
stat:
|
||||
path: "{{ foobarrc_ansible }}"
|
||||
register: diversion_8
|
||||
|
||||
- name: "assert that results of test 09 are as expected"
|
||||
assert:
|
||||
that:
|
||||
- diversion_0 is failed
|
||||
- diversion_1 is failed
|
||||
- diversion_2 is changed
|
||||
- diversion_3 is changed
|
||||
- diversion_4 is not changed
|
||||
- diversion_5 is not changed
|
||||
- diversion_6.stat.exists
|
||||
- diversion_6.stat.checksum == foobarrc_oldsha1
|
||||
- not diversion_7.stat.exists
|
||||
- not diversion_8.stat.exists
|
||||
- diversion_0 == diversion_1
|
||||
- diversion_2.diversion == diversion_3.diversion
|
||||
- diversion_4.diversion == diversion_5.diversion
|
||||
- diversion_2.commands == diversion_3.commands
|
||||
- diversion_4.commands == diversion_5.commands
|
||||
quiet: yes
|
Loading…
Add table
Add a link
Reference in a new issue