mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-11 23:25:28 +01:00
124 lines
3.2 KiB
YAML
124 lines
3.2 KiB
YAML
- name: ensure idempotency installed
|
|
package:
|
|
name: patch
|
|
when: ansible_distribution != "MacOSX"
|
|
- name: create a directory for the result
|
|
file:
|
|
dest: '{{ output_dir }}/patch'
|
|
state: directory
|
|
register: result
|
|
- name: assert the directory was created
|
|
assert:
|
|
that:
|
|
- result.state == 'directory'
|
|
- name: copy the origin file
|
|
copy:
|
|
src: ./origin.txt
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
register: result
|
|
- name: patch the origin file in check mode
|
|
check_mode: true
|
|
register: result
|
|
patch:
|
|
src: result.patch
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
- name: verify patch the origin file in check mode
|
|
assert:
|
|
that:
|
|
- result is changed
|
|
- name: patch the origin file
|
|
register: result
|
|
patch:
|
|
src: result.patch
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
- name: verify patch the origin file
|
|
assert:
|
|
that:
|
|
- result is changed
|
|
- name: test patch the origin file idempotency
|
|
register: result
|
|
patch:
|
|
src: result.patch
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
- name: verify test patch the origin file idempotency
|
|
assert:
|
|
that:
|
|
- result is not changed
|
|
- name: verify the resulted file matches expectations
|
|
copy:
|
|
src: ./result.txt
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
register: result
|
|
failed_when: result is changed
|
|
- name: patch the workfile file in check mode state absent
|
|
check_mode: true
|
|
register: result
|
|
patch:
|
|
src: result.patch
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
state: absent
|
|
- name: verify patch the workfile file in check mode state absent
|
|
assert:
|
|
that:
|
|
- result is changed
|
|
- name: patch the workfile file state absent
|
|
register: result
|
|
patch:
|
|
src: result.patch
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
state: absent
|
|
- name: verify patch the workfile file state absent
|
|
assert:
|
|
that:
|
|
- result is changed
|
|
- name: patch the workfile file state absent idempotency
|
|
register: result
|
|
patch:
|
|
src: result.patch
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
state: absent
|
|
- name: verify patch the workfile file state absent idempotency
|
|
assert:
|
|
that:
|
|
- result is not changed
|
|
- name: verify the resulted file matches expectations
|
|
copy:
|
|
src: ./origin.txt
|
|
dest: '{{ output_dir }}/patch/workfile.txt'
|
|
register: result
|
|
failed_when: result is changed
|
|
|
|
- name: copy the origin file whitespace
|
|
copy:
|
|
src: ./origin.txt
|
|
dest: '{{ output_dir }}/patch/workfile_whitespace.txt'
|
|
register: result
|
|
|
|
- name: patch the origin file
|
|
register: result
|
|
patch:
|
|
src: result_whitespace.patch
|
|
dest: '{{ output_dir }}/patch/workfile_whitespace.txt'
|
|
ignore_whitespace: yes
|
|
- name: verify patch the origin file
|
|
assert:
|
|
that:
|
|
- result is changed
|
|
|
|
- name: test patch the origin file idempotency
|
|
register: result
|
|
patch:
|
|
src: result_whitespace.patch
|
|
dest: '{{ output_dir }}/patch/workfile_whitespace.txt'
|
|
ignore_whitespace: yes
|
|
- name: verify test patch the origin file idempotency
|
|
assert:
|
|
that:
|
|
- result is not changed
|
|
|
|
- name: verify the resulted file matches expectations
|
|
copy:
|
|
src: ./result_whitespace.txt
|
|
dest: '{{ output_dir }}/patch/workfile_whitespace.txt'
|
|
register: result
|
|
failed_when: result is changed
|