1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/tests/integration/targets/homebrew_cask/tasks/main.yml
Joseph Torcasso 8b95c56030
homebrew_cask: reinstall when force is install option (#4090)
* homebrew_cask: reinstall when force is install option

* add changelog entry

* Fix OSX CI runs - run as non-root

* test with cask that has no macos dependencies

* use `brooklyn` cask to test
2022-02-02 21:31:05 +01:00

71 lines
2.2 KiB
YAML

####################################################################
# WARNING: These are designed specifically for Ansible tests #
# and should not be used as examples of how to write Ansible roles #
####################################################################
# Test code for the homebrew_cask module.
# Copyright: (c) 2022, Joseph Torcasso <jtorcass@redhat.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: Find brew binary
command: which brew
register: brew_which
when: ansible_distribution in ['MacOSX']
- name: Get owner of brew binary
stat:
path: "{{ brew_which.stdout }}"
register: brew_stat
when: ansible_distribution in ['MacOSX']
- block:
- name: Install cask
homebrew_cask:
name: "{{ cask }}"
state: present
become: yes
become_user: "{{ brew_stat.stat.pw_name }}"
register: cask_install_result
- assert:
that:
- cask_install_result is changed
- "'Cask installed' in cask_install_result.msg"
- name: Install cask (idempotence)
homebrew_cask:
name: "{{ cask }}"
state: present
become: yes
become_user: "{{ brew_stat.stat.pw_name }}"
register: cask_install_result
- assert:
that:
- cask_install_result is not changed
- "'Cask installed' not in cask_install_result.msg"
- "'Cask already installed' in cask_install_result.msg"
- name: Install cask with force install option
homebrew_cask:
name: "{{ cask }}"
state: present
install_options: force
become: yes
become_user: "{{ brew_stat.stat.pw_name }}"
register: cask_install_result
- assert:
that:
- cask_install_result is changed
- "'Cask installed' in cask_install_result.msg"
always:
- name: Delete cask
homebrew_cask:
name: "{{ cask }}"
state: absent
install_options: force
become: yes
become_user: "{{ brew_stat.stat.pw_name }}"
ignore_errors: yes