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