You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/patch/tasks/main.yml

108 lines
2.3 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
patch:
src: result.patch
dest: "{{ output_dir }}/patch/workfile.txt"
check_mode: yes
register: result
- name: verify patch the origin file in check mode
assert:
that:
- result is changed
- name: patch the origin file
patch:
src: result.patch
dest: "{{ output_dir }}/patch/workfile.txt"
register: result
- name: verify patch the origin file
assert:
that:
- result is changed
- name: test patch the origin file idempotency
patch:
src: result.patch
dest: "{{ output_dir }}/patch/workfile.txt"
register: result
- 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
patch:
src: result.patch
dest: "{{ output_dir }}/patch/workfile.txt"
state: absent
check_mode: yes
register: result
- name: verify patch the workfile file in check mode state absent
assert:
that:
- result is changed
- name: patch the workfile file state absent
patch:
src: result.patch
dest: "{{ output_dir }}/patch/workfile.txt"
state: absent
register: result
- name: verify patch the workfile file state absent
assert:
that:
- result is changed
- name: patch the workfile file state absent idempotency
patch:
src: result.patch
dest: "{{ output_dir }}/patch/workfile.txt"
state: absent
register: result
- 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