1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-03-21 20:59:10 +00:00
community.general/tests/integration/targets/homebrew_cask/tasks/main.yml
Felix Fontein 476f2bf641
Integration tests: replace ansible_xxx with ansible_facts.xxx (#11479)
Replace ansible_xxx with ansible_facts.xxx.
2026-02-07 18:18:48 +01:00

73 lines
2.1 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 LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Find brew binary
command: which brew
register: brew_which
when: ansible_facts.distribution in ['MacOSX']
- name: Get owner of brew binary
stat:
path: "{{ brew_which.stdout }}"
register: brew_stat
when: ansible_facts.distribution in ['MacOSX']
- block:
- name: Install cask
homebrew_cask:
name: "{{ cask }}"
state: present
become: true
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: true
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: true
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: true
become_user: "{{ brew_stat.stat.pw_name }}"
ignore_errors: true