diff options
Diffstat (limited to 'test/integration/targets/package')
-rw-r--r-- | test/integration/targets/package/aliases | 3 | ||||
-rw-r--r-- | test/integration/targets/package/meta/main.yml | 2 | ||||
-rw-r--r-- | test/integration/targets/package/tasks/main.yml | 114 |
3 files changed, 119 insertions, 0 deletions
diff --git a/test/integration/targets/package/aliases b/test/integration/targets/package/aliases new file mode 100644 index 00000000..0b484bba --- /dev/null +++ b/test/integration/targets/package/aliases @@ -0,0 +1,3 @@ +shippable/posix/group1 +destructive +skip/aix diff --git a/test/integration/targets/package/meta/main.yml b/test/integration/targets/package/meta/main.yml new file mode 100644 index 00000000..07faa217 --- /dev/null +++ b/test/integration/targets/package/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - prepare_tests diff --git a/test/integration/targets/package/tasks/main.yml b/test/integration/targets/package/tasks/main.yml new file mode 100644 index 00000000..4fc3a8a6 --- /dev/null +++ b/test/integration/targets/package/tasks/main.yml @@ -0,0 +1,114 @@ +# Test code for the package 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 + +# Verify correct default package manager for Fedora +# Validates: https://github.com/ansible/ansible/issues/34014 +- block: + - name: install apt + dnf: + name: apt + state: present + - name: gather facts again + setup: + - name: validate output + assert: + that: + - 'ansible_pkg_mgr == "dnf"' + always: + - name: remove apt + dnf: + name: apt + state: absent + - name: gather facts again + setup: + when: ansible_distribution == "Fedora" + +# Verify correct default package manager for Debian/Ubuntu when Zypper installed +- block: + # Just make an executable file called "zypper" - installing zypper itself + # consistently is hard - and we're not going to use it + - name: install fake zypper + file: + state: touch + mode: 0755 + path: /usr/bin/zypper + - name: gather facts again + setup: + - name: validate output + assert: + that: + - 'ansible_pkg_mgr == "apt"' + always: + - name: remove fake zypper + file: + path: /usr/bin/zypper + state: absent + - name: gather facts again + setup: + when: ansible_os_family == "Debian" + +## +## package +## + +- name: define distros to attempt installing at on + set_fact: + package_distros: + - RedHat + - CentOS + - ScientificLinux + - Fedora + - Ubuntu + - Debian + +- block: + - name: remove at package + package: + name: at + state: absent + register: at_check0 + + - name: verify at command is missing + shell: which at + register: at_check1 + failed_when: at_check1.rc == 0 + + - name: reinstall at package + package: + name: at + state: present + register: at_install0 + - debug: var=at_install0 + - name: validate results + assert: + that: + - 'at_install0.changed is defined' + - 'at_install0.changed' + + - name: verify at command is installed + shell: which at + + when: ansible_distribution in package_distros |