mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-26 13:42:49 +00:00
* homebrew: Support old_tokens and oldnames in homebrew package data Fixes #10804 Since brew info will accept old_tokens (for casks) and oldnames (for formulae) when provided by the homebrew module "name" argument, the module also needs to consider thes old names as valid for the given package. This commit updates _extract_package_name to do that. All existing package name tests, including existing tests for name aliases and tap prefixing, have been consolidated with new name tests into package_names.yml. * Added changelog fragment. * homebrew: replace non-py2 compliant f-string usage * code formatting lint, and py2 compatibility fixes * homebrew: added licenses to new files, nox lint * Update plugins/modules/homebrew.py use str.format() instead of string addition Co-authored-by: Felix Fontein <felix@fontein.de> * Update tests/integration/targets/homebrew/tasks/casks.yml Co-authored-by: Felix Fontein <felix@fontein.de> * Update tests/integration/targets/homebrew/tasks/package_names_item.yml Co-authored-by: Felix Fontein <felix@fontein.de> * Update tests/integration/targets/homebrew/tasks/formulae.yml Co-authored-by: Felix Fontein <felix@fontein.de> * Fixes for performance concerns on new homebrew tests. 1) tests for alternate package names are commented out in main.yml. 2) the "install via alternate name, uninstall via base name" test case was deemed duplicative, and has been deleted . 3) minor fixes to use jinja2 "~" for string concat instead of "+" * Fix nox lint --------- Co-authored-by: Felix Fontein <felix@fontein.de>
62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
# Copyright (c) Ansible Project
|
|
# 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
|
|
|
|
# This task block is included by package_names.yml once for each test package,
|
|
# having set package variable to the name to test
|
|
- name: Test one package
|
|
block:
|
|
- debug:
|
|
var: package
|
|
|
|
- name: Assure package is absent
|
|
homebrew:
|
|
package: "{{ package[0] }}"
|
|
state: absent
|
|
update_homebrew: false
|
|
become: true
|
|
become_user: "{{ brew_stat.stat.pw_name }}"
|
|
|
|
- name: Install package by an alternative name
|
|
homebrew:
|
|
package: "{{ package[1] }}"
|
|
state: present
|
|
update_homebrew: false
|
|
become: true
|
|
become_user: "{{ brew_stat.stat.pw_name }}"
|
|
register: package_result
|
|
|
|
- assert:
|
|
that:
|
|
- package_result is changed
|
|
- package_result.changed_pkgs[0] == package[1]
|
|
- package_result.unchanged_pkgs | length == 0
|
|
- 'package_result.msg == "Package installed: " ~ package[1]'
|
|
|
|
- name: Reinstall should do nothing
|
|
homebrew:
|
|
package: "{{ package[1] }}"
|
|
state: present
|
|
update_homebrew: false
|
|
become: true
|
|
become_user: "{{ brew_stat.stat.pw_name }}"
|
|
register: package_result
|
|
|
|
- assert:
|
|
that:
|
|
- package_result is not changed
|
|
- 'package_result.msg == "Package already installed: " ~ package[1]'
|
|
|
|
- name: Uninstall should work on alternate name
|
|
homebrew:
|
|
package: "{{ package[1] }}"
|
|
state: absent
|
|
update_homebrew: false
|
|
become: true
|
|
become_user: "{{ brew_stat.stat.pw_name }}"
|
|
register: package_result
|
|
|
|
- assert:
|
|
that:
|
|
- package_result is changed
|
|
- 'package_result.msg == "Package uninstalled: " ~ package[1]'
|