mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-11 23:25:28 +01:00
131 lines
No EOL
3.4 KiB
YAML
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', '==')) |