2022-08-05 20:16:36 +02:00
|
|
|
---
|
2022-02-02 21:31:05 +01:00
|
|
|
####################################################################
|
|
|
|
# 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.
|
2022-08-05 13:17:19 +02:00
|
|
|
# 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
|
2022-08-05 20:16:36 +02:00
|
|
|
|
2022-02-02 21:31:05 +01:00
|
|
|
- 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
|