Skip to content

Commit 114deae

Browse files
Fix homebrew tap name handling (#9546)
* Add failing test * Use fully qualified names * Add changelog fragment * Remove unnecessary initial cleanup * Fix tests/integration/targets/homebrew/tasks/formulae.yml Co-authored-by: Felix Fontein <[email protected]> --------- Co-authored-by: Felix Fontein <[email protected]>
1 parent 94d5256 commit 114deae

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
bugfixes:
2+
- homebrew - fix incorrect handling of homebrew modules when a tap is requested (https://github.com/ansible-collections/community.general/pull/9546, https://github.com/ansible-collections/community.general/issues/9533).

plugins/modules/homebrew.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ def _save_package_info(self, package_detail, package_name):
385385
self.outdated_packages.add(package_name)
386386

387387
def _extract_package_name(self, package_detail, is_cask):
388-
canonical_name = package_detail["token"] if is_cask else package_detail["name"] # For ex: 'sqlite'
388+
canonical_name = package_detail["full_token"] if is_cask else package_detail["full_name"] # For ex: 'sqlite'
389389
all_valid_names = set(package_detail.get("aliases", [])) # For ex: {'sqlite3'}
390390
all_valid_names.add(canonical_name)
391391

tests/integration/targets/homebrew/tasks/formulae.yml

+24
Original file line numberDiff line numberDiff line change
@@ -363,3 +363,27 @@
363363
- "reinstall_result.msg == 'Package already installed: sqlite3'"
364364
- "reinstall_result.changed_pkgs == []"
365365
- "reinstall_result.unchanged_pkgs == ['sqlite3']"
366+
367+
# Test with homebrew tap
368+
- block:
369+
- name: Tap terraform homebrew repository
370+
community.general.homebrew_tap:
371+
name: hashicorp/tap
372+
become: true
373+
become_user: "{{ brew_stat.stat.pw_name }}"
374+
375+
- name: Install homebrew tap
376+
community.general.homebrew:
377+
name: hashicorp/tap/terraform
378+
state: latest
379+
update_homebrew: false
380+
register: terraform_install_result
381+
become: true
382+
become_user: "{{ brew_stat.stat.pw_name }}"
383+
384+
- assert:
385+
that:
386+
- terraform_install_result is changed
387+
- "terraform_install_result.msg == 'Package upgraded: hashicorp/tap/terraform'"
388+
- "terraform_install_result.changed_pkgs == ['hashicorp/tap/terraform']"
389+
- "terraform_install_result.unchanged_pkgs == []"

0 commit comments

Comments
 (0)