ansible.posix/tests/integration/targets/at/tasks/main.yml
2021-07-06 11:53:09 -07:00

131 lines
No EOL
3.4 KiB
YAML

# Test code for the at module.
# (c) 2017, James Tanner <tanner.jc@gmail.com>
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
- 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
- name: create our testing sub-directory
file: path="{{ output_dir_test }}" state=directory
##
## at
##
- name: Run At tests
block:
- 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
- name: run the first example
at:
command: "ls -d / > /dev/null"
count: 20
units: minutes
register: at_test0
- debug: var=at_test0
- name: validate results
assert:
that:
- 'at_test0.changed is defined'
- 'at_test0.count is defined'
- 'at_test0.script_file is defined'
- 'at_test0.state is defined'
- 'at_test0.units is defined'
- name: Add a useless command using at
at:
command: /bin/logger 'AT task ran from Ansible'
count: 1
units: minutes
unique: yes
register: at_add
- debug: var=at_add
- name: Wait for at to run the previous command
pause:
minutes: 1
- name: Add a useless command
at:
command: /bin/logger 'AT task ran from Ansible'
count: 1
units: minutes
unique: true
state: absent
register: at_removal
- debug: var=at_removal
- name: Wait for at to run the previous command
pause:
minutes: 1
- name: Validate results
assert:
that:
- at_add is changed
- at_removal is changed
- name: Create an at command with chdir with valid value
at:
command: /bin/logger 'AT task ran from Ansible with chdir'
count: 1
units: minutes
chdir: /tmp
register: at_chdir_valid
- debug: var=at_chdir_valid
- name: Create an at command with chdir with invalid value
at:
command: /bin/logger 'AT task ran from Ansible with chdir'
count: 1
units: minutes
chdir: /invalid
register: at_chdir_invalid
ignore_errors: true
- debug: var=at_chdir_invalid
- name: Validate results
assert:
that:
- at_chdir_valid is changed
- at_chdir_invalid is changed
when:
- not (ansible_facts['distribution'] in ('Ubuntu','FreeBSD'))
- not (ansible_distribution == "CentOS" and ansible_distribution_version is version('6', '=='))