Enable at, patch and synchronize tests

This commit is contained in:
Matt Martz 2020-03-19 10:27:08 -05:00
parent ce9ec16375
commit 86f70d3316
6 changed files with 45 additions and 19 deletions

View file

@ -1,3 +1,2 @@
shippable/posix/group1
destructive
disabled # fixme package

View file

@ -16,34 +16,36 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
- debug:
msg: >-
Skipping {{ ansible_distribution }} as ansible-base does not contain
the packaging module ({{ ansible_pkg_mgr }}) for this operating system
- name: stop executing on hosts that we don't have package manager modules for
meta: end_host
when: ansible_pkg_mgr not in ['apt', 'dnf', 'yum']
- set_fact: output_dir_test={{output_dir}}/at
- name: make sure our testing sub-directory does not exist
file: path="{{ output_dir_test }}" state=absent
file:
path: "{{ output_dir_test }}"
state: absent
- name: create our testing sub-directory
file: path="{{ output_dir_test }}" state=directory
file:
path: "{{ output_dir_test }}"
state: directory
##
## at
##
- name: define distros to attempt installing at on
set_fact:
package_distros:
- RedHat
- CentOS
- ScientificLinux
- Fedora
- Ubuntu
- Debian
- openSUSE Leap
- name: ensure at is installed
package:
name: at
state: present
when: ansible_distribution in package_distros
when: ansible_pkg_mgr in ['apt', 'dnf', 'yum']
- name: run the first example
at:

View file

@ -1,4 +1,3 @@
destructive
shippable/posix/group1
skip/aix
disabled # fixme package

View file

@ -1,55 +1,75 @@
# - debug:
# msg: >-
# Skipping {{ ansible_distribution }} as ansible-base does not contain
# the packaging module ({{ ansible_pkg_mgr }}) for this operating system
#
# - name: stop executing on hosts that we don't have package manager modules for
# meta: end_host
# when: ansible_pkg_mgr not in ['apt', 'dnf', 'yum']
- name: ensure idempotency installed
package:
name: patch
when: ansible_distribution != "MacOSX"
when: ansible_pkg_mgr in ['apt', 'dnf', 'yum']
- 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
@ -57,30 +77,36 @@
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

View file

@ -1,2 +1 @@
shippable/posix/group1
disabled # fixme package

View file

@ -1,7 +1,8 @@
- name: install rsync
package:
name: rsync
when: ansible_distribution != "MacOSX"
when: ansible_pkg_mgr in ['apt', 'dnf', 'yum']
- name: cleanup old files
shell: rm -rf {{output_dir}}/*
- name: create test new files