Add integration tests for the mas module (#67442)
* Add integration tests for the mas module See https://github.com/ansible/ansible/pull/19768. * Implement review feedback
This commit is contained in:
parent
a43f76cbf9
commit
31a6a37329
2 changed files with 153 additions and 0 deletions
2
test/integration/targets/mas/aliases
Normal file
2
test/integration/targets/mas/aliases
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
needs/root
|
||||||
|
unsupported
|
151
test/integration/targets/mas/tasks/main.yml
Normal file
151
test/integration/targets/mas/tasks/main.yml
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
# Test code for the mas module.
|
||||||
|
# Copyright: (c) 2020, Lukas Bestle <project-ansible@lukasbestle.com>
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
---
|
||||||
|
# Test preparation
|
||||||
|
- name: Uninstall Rested to ensure consistent starting point
|
||||||
|
mas:
|
||||||
|
id: 421879749
|
||||||
|
state: absent
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Determine whether the app is installed
|
||||||
|
stat:
|
||||||
|
path: /Applications/Rested.app
|
||||||
|
register: install_status
|
||||||
|
|
||||||
|
- name: Ensure the app is uninstalled
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- install_status.stat.exists == false
|
||||||
|
|
||||||
|
- name: Wait until the OS-internal cache was updated
|
||||||
|
pause:
|
||||||
|
seconds: 5
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
- name: Check if Rested needs to be installed
|
||||||
|
mas:
|
||||||
|
id: 421879749
|
||||||
|
state: present
|
||||||
|
register: install_check
|
||||||
|
check_mode: yes
|
||||||
|
|
||||||
|
- name: Ensure that the status would have changed
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- install_check is changed
|
||||||
|
- install_check.msg == "Installed 1 app(s)"
|
||||||
|
|
||||||
|
- name: Determine whether the app is installed
|
||||||
|
stat:
|
||||||
|
path: /Applications/Rested.app
|
||||||
|
register: install_status
|
||||||
|
|
||||||
|
- name: Ensure the app is not yet installed
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- install_status.stat.exists == false
|
||||||
|
|
||||||
|
- name: Install Rested
|
||||||
|
mas:
|
||||||
|
id: 421879749
|
||||||
|
state: present
|
||||||
|
register: install
|
||||||
|
|
||||||
|
- name: Ensure that the status changed
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- install is changed
|
||||||
|
- install.msg == "Installed 1 app(s)"
|
||||||
|
|
||||||
|
- name: Determine whether the app is installed
|
||||||
|
stat:
|
||||||
|
path: /Applications/Rested.app
|
||||||
|
register: install_status
|
||||||
|
|
||||||
|
- name: Ensure the app is installed
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- install_status.stat.exists == true
|
||||||
|
|
||||||
|
- name: Wait until the OS-internal cache was updated
|
||||||
|
pause:
|
||||||
|
seconds: 5
|
||||||
|
|
||||||
|
- name: Install Rested again
|
||||||
|
mas:
|
||||||
|
id: 421879749
|
||||||
|
state: present
|
||||||
|
register: install_again
|
||||||
|
|
||||||
|
- name: Ensure that the status is unchanged (already installed)
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- install_again is not changed
|
||||||
|
- "'msg' not in install_again"
|
||||||
|
|
||||||
|
# Uninstallation
|
||||||
|
- name: Check if Rested needs to be uninstalled
|
||||||
|
mas:
|
||||||
|
id: 421879749
|
||||||
|
state: absent
|
||||||
|
register: uninstall_check
|
||||||
|
become: yes
|
||||||
|
check_mode: yes
|
||||||
|
|
||||||
|
- name: Ensure that the status would have changed
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- uninstall_check is changed
|
||||||
|
- uninstall_check.msg == "Uninstalled 1 app(s)"
|
||||||
|
|
||||||
|
- name: Determine whether the app is installed
|
||||||
|
stat:
|
||||||
|
path: /Applications/Rested.app
|
||||||
|
register: install_status
|
||||||
|
|
||||||
|
- name: Ensure the app is not yet uninstalled
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- install_status.stat.exists == true
|
||||||
|
|
||||||
|
- name: Unistall Rested
|
||||||
|
mas:
|
||||||
|
id: 421879749
|
||||||
|
state: absent
|
||||||
|
register: uninstall
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Ensure that the status changed
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- uninstall is changed
|
||||||
|
- uninstall.msg == "Uninstalled 1 app(s)"
|
||||||
|
|
||||||
|
- name: Determine whether the app is installed
|
||||||
|
stat:
|
||||||
|
path: /Applications/Rested.app
|
||||||
|
register: uninstall_status
|
||||||
|
|
||||||
|
- name: Ensure the app is uninstalled
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- uninstall_status.stat.exists == false
|
||||||
|
|
||||||
|
- name: Wait until the OS-internal cache was updated
|
||||||
|
pause:
|
||||||
|
seconds: 5
|
||||||
|
|
||||||
|
- name: Uninstall Rested again
|
||||||
|
mas:
|
||||||
|
id: 421879749
|
||||||
|
state: absent
|
||||||
|
register: uninstall_again
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Ensure that the status is unchanged (already uninstalled)
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- uninstall_again is not changed
|
||||||
|
- "'msg' not in uninstall_again"
|
Loading…
Reference in a new issue