31a6a37329
* Add integration tests for the mas module See https://github.com/ansible/ansible/pull/19768. * Implement review feedback
151 lines
3.2 KiB
YAML
151 lines
3.2 KiB
YAML
# 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"
|