# Test code for the at module. # (c) 2017, James Tanner # 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 . - 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', '=='))