summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/package/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/package/tasks/main.yml')
-rw-r--r--test/integration/targets/package/tasks/main.yml242
1 files changed, 242 insertions, 0 deletions
diff --git a/test/integration/targets/package/tasks/main.yml b/test/integration/targets/package/tasks/main.yml
new file mode 100644
index 0000000..c17525d
--- /dev/null
+++ b/test/integration/targets/package/tasks/main.yml
@@ -0,0 +1,242 @@
+# 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/>.
+
+# 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
+##
+
+# Verify module_defaults for package and the underlying module are utilized
+# Validates: https://github.com/ansible/ansible/issues/72918
+- block:
+ # 'name' is required
+ - name: install apt with package defaults
+ package:
+ module_defaults:
+ package:
+ name: apt
+ state: present
+
+ - name: install apt with dnf defaults (auto)
+ package:
+ module_defaults:
+ dnf:
+ name: apt
+ state: present
+
+ - name: install apt with dnf defaults (use dnf)
+ package:
+ use: dnf
+ module_defaults:
+ dnf:
+ name: apt
+ state: present
+ always:
+ - name: remove apt
+ dnf:
+ name: apt
+ state: absent
+ when: ansible_distribution == "Fedora"
+
+- 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
+
+ - name: remove at package
+ package:
+ name: at
+ state: absent
+ register: at_install0
+
+ - name: validate package removal
+ assert:
+ that:
+ - "at_install0 is changed"
+
+ when: ansible_distribution in package_distros
+
+##
+## yum
+##
+#Validation for new parameter 'use' in yum action plugin which aliases to 'use_backend'
+#Issue: https://github.com/ansible/ansible/issues/70774
+- block:
+ - name: verify if using both the parameters 'use' and 'use_backend' throw error
+ yum:
+ name: at
+ state: present
+ use_backend: yum
+ use: yum
+ ignore_errors: yes
+ register: result
+
+ - name: verify error
+ assert:
+ that:
+ - "'parameters are mutually exclusive' in result.msg"
+ - "not result is changed"
+
+ - name: verify if package installation is successful using 'use' parameter
+ yum:
+ name: at
+ state: present
+ use: dnf
+ register: result
+
+ - name: verify the result
+ assert:
+ that:
+ - "result is changed"
+
+ - name: remove at package
+ yum:
+ name: at
+ state: absent
+ use: dnf
+ register: result
+
+ - name: verify package removal
+ assert:
+ that:
+ - "result is changed"
+
+ - name: verify if package installation is successful using 'use_backend' parameter
+ yum:
+ name: at
+ state: present
+ use_backend: dnf
+ register: result
+
+ - name: verify the result
+ assert:
+ that:
+ - "result is changed"
+
+ - name: remove at package
+ yum:
+ name: at
+ state: absent
+ use_backend: dnf
+ register: result
+
+ - name: verify package removal
+ assert:
+ that:
+ - "result is changed"
+
+ - name: verify if package installation is successful without using 'use_backend' and 'use' parameters
+ yum:
+ name: at
+ state: present
+ register: result
+
+ - name: verify the result
+ assert:
+ that:
+ - "result is changed"
+
+ - name: remove at package
+ yum:
+ name: at
+ state: absent
+ register: result
+
+ - name: verify package removal
+ assert:
+ that:
+ - "result is changed"
+
+ when: ansible_distribution == "Fedora" \ No newline at end of file