mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-10 14:45:28 +01:00
147 lines
3.7 KiB
YAML
147 lines
3.7 KiB
YAML
---
|
|
- name: Ensure idempotency installed
|
|
ansible.builtin.package:
|
|
name: patch
|
|
when: ansible_distribution != "MacOSX"
|
|
|
|
- name: Create a directory for the result
|
|
ansible.builtin.file:
|
|
dest: "{{ output_dir }}/patch"
|
|
state: directory
|
|
mode: "0755"
|
|
register: result
|
|
|
|
- name: Assert the directory was created
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result.state == 'directory'
|
|
|
|
- name: Copy the origin file
|
|
ansible.builtin.copy:
|
|
src: ./origin.txt
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
mode: "0644"
|
|
register: result
|
|
|
|
- name: Patch the origin file in check mode
|
|
check_mode: true
|
|
register: result
|
|
ansible.posix.patch:
|
|
src: result.patch
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
|
|
- name: Verify patch the origin file in check mode
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result is changed
|
|
|
|
- name: Patch the origin file
|
|
register: result
|
|
ansible.posix.patch:
|
|
src: result.patch
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
|
|
- name: Verify patch the origin file
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result is changed
|
|
|
|
- name: Test patch the origin file idempotency
|
|
register: result
|
|
ansible.posix.patch:
|
|
src: result.patch
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
- name: Verify test patch the origin file idempotency
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result is not changed
|
|
|
|
- name: Verify the resulted file matches expectations
|
|
ansible.builtin.copy:
|
|
src: ./result.txt
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
mode: "0644"
|
|
register: result
|
|
failed_when: result is changed
|
|
|
|
- name: Patch the workfile file in check mode state absent
|
|
check_mode: true
|
|
register: result
|
|
ansible.posix.patch:
|
|
src: result.patch
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
state: absent
|
|
|
|
- name: Verify patch the workfile file in check mode state absent
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result is changed
|
|
|
|
- name: Patch the workfile file state absent
|
|
register: result
|
|
ansible.posix.patch:
|
|
src: result.patch
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
state: absent
|
|
|
|
- name: Verify patch the workfile file state absent
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result is changed
|
|
|
|
- name: Patch the workfile file state absent idempotency
|
|
register: result
|
|
ansible.posix.patch:
|
|
src: result.patch
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
state: absent
|
|
|
|
- name: Verify patch the workfile file state absent idempotency
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result is not changed
|
|
|
|
- name: Verify the resulted file matches expectations
|
|
ansible.builtin.copy:
|
|
src: ./origin.txt
|
|
dest: "{{ output_dir }}/patch/workfile.txt"
|
|
mode: "0644"
|
|
register: result
|
|
failed_when: result is changed
|
|
|
|
- name: Copy the origin file whitespace
|
|
ansible.builtin.copy:
|
|
src: ./origin.txt
|
|
dest: "{{ output_dir }}/patch/workfile_whitespace.txt"
|
|
mode: "0644"
|
|
register: result
|
|
|
|
- name: Patch the origin file
|
|
register: result
|
|
ansible.posix.patch:
|
|
src: result_whitespace.patch
|
|
dest: "{{ output_dir }}/patch/workfile_whitespace.txt"
|
|
ignore_whitespace: true
|
|
- name: Verify patch the origin file
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result is changed
|
|
|
|
- name: Test patch the origin file idempotency
|
|
register: result
|
|
ansible.posix.patch:
|
|
src: result_whitespace.patch
|
|
dest: "{{ output_dir }}/patch/workfile_whitespace.txt"
|
|
ignore_whitespace: true
|
|
- name: Verify test patch the origin file idempotency
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result is not changed
|
|
|
|
- name: Verify the resulted file matches expectations
|
|
ansible.builtin.copy:
|
|
src: ./result_whitespace.txt
|
|
dest: "{{ output_dir }}/patch/workfile_whitespace.txt"
|
|
mode: "0644"
|
|
register: result
|
|
failed_when: result is changed
|