Simplify module_utils unit tests (#9842)
Simplify module_utils unit tests.
(cherry picked from commit c46575cf06)
Co-authored-by: Felix Fontein <felix@fontein.de>
Unit tests: make set_module_args() a context manager, and remove copies of it in some tests (#9838)
Make set_module_args() a context manager, and remove copies of set_module_args().
Prepares for Data Tagging.
(cherry picked from commit a1781d09dd)
homebrew_services: skip tests on macOS 13.2 and 14.3 (#9828)
Skip tests on macOS 13.2 and 14.3.
(cherry picked from commit 77dc086896)
Co-authored-by: Felix Fontein <felix@fontein.de>
locale_gen: enable tests for Arch Linux, make sure they don't even try to run on RHEL and Fedora VMs (#9796)
Enable locale_gen tests for Arch Linux, make sure they don't even try to run on RHEL and Fedora VMs.
(cherry picked from commit 217a18839d)
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make apache2_mod_proxy work with Python 3, half-way modern Apache 2 versions, and add basic tests (#9762)
* Move Apache 2 installation to setup role.
* Make module work with Python 3.
* Add basic tests.
* Add changelog fragment.
* Simplify change.
* Pass referer.
* apache2_mod_proxy: follow-up for #9762, forgot one place with find_all/findAll (#9775)
Follow-up for #9762, forgot one place.
(cherry picked from commit 8e36fd4847)
keycloak: repair integration tests by removing jinja2 templating from conditionals (#9726) (#9727)
* fix: remove jinja2 templating from conditionals in keycloak_role module integration tests (#9726)
* fix: remove jinja2 templating in conditional in keycloak clientsecret info integration test (#9726)
This test needs a further fix; see #9744. Left for a future PR for now.
* fix: remove jinja2 templating in conditional in keycloak clientsecret regenerate integration test (#9726)
* chore: remove jinja2 templating in conditional in keycloak user federation integration test (#9726)
These instances of templating were not causing failures,
but this removes the warnings.
* chore: remove jinja2 templating in conditional in keycloak user rolemapping integration test (#9726)
These instances of templating were not causing failures,
but this removes the warnings.
* docs: add changelog fragment (#9726)
* docs: repair changelog fragment yaml (#9726)
* docs: actually repair changelog fragment yaml (#9726)
* chore: remove changelog fragment for test only pr (#9726)
(cherry picked from commit 910c57aaa0)
Co-authored-by: Mark Armstrong <markparmstrong@gmail.com>
filesystem tests: reiserfsprogs is no longer available on Arch Linux (#9699)
reiserfsprogs is no longer available on Arch Linux.
(cherry picked from commit 10c15d31f7)
Co-authored-by: Felix Fontein <felix@fontein.de>
Also disable snap_alias tests for RHEL 8.8 (#9686)
Also disable snap_alias tests for RHEL 8.8.
(cherry picked from commit 0b4337c13d)
Co-authored-by: Felix Fontein <felix@fontein.de>
redhat_subscription: stop manual unsubscribing on unregistration (#9578)
Unregistering a system also drops all the resources for it
automatically, so there is no need to manually unsubscribing (which
actually means removing all the subscriptions).
In addition to that, newer versions of subscription-manager drop all the
support for entitlements, so the "remove" subcommand (used by
unsubscribe()) does not exist anymore, and thus the unregistration fails
with those versions.
This fixes the registration on EL 10 systems, and Fedora 41 and greater.
(cherry picked from commit bcc92e8aac)
Co-authored-by: Pino Toscano <ptoscano@redhat.com>
CI: Add Fedora 41, Alpine 3.21, RHEL 9.5, FreeBSD 14.2 to CI for devel (#9552)
* Add Fedora 41, Alpine 3.21, RHEL 9.5, FreeBSD 14.2 to CI for devel.
* Add some ignores that are likely needed.
* Try to fix/ignore various errors.
* Fix redis setup on Fedora 41.
* Undo disable yum_versionlock since it's already globally disabled.
(cherry picked from commit bf69dc46ff)
Co-authored-by: Felix Fontein <felix@fontein.de>
CI: Arch Linux updated to Python 3.13 (#9310)
* Arch Linux updated to Python 3.13.
* Skip lmdb_kv lookup on Arch Linux.
Ref: https://github.com/jnwatson/py-lmdb/issues/362
(cherry picked from commit 2adcc34dd5)
Co-authored-by: Felix Fontein <felix@fontein.de>
Polish botmeta extra sanity test and make it work without warnings on Python 3.13 (#9297)
Polish botmeta and make it work without warnings on Python 3.13.
(cherry picked from commit d2088ccfcc)
Co-authored-by: Felix Fontein <felix@fontein.de>
random_words integration tests: avoid test failure due to valid result (#9271)
Avoid test failure due to valid result.
(cherry picked from commit 50b25f8c01)
Co-authored-by: Felix Fontein <felix@fontein.de>
sysrc: add another exclusion for ezjail (#9243)
Add another exclusion.
(cherry picked from commit 9df4ef9a9c)
Co-authored-by: Felix Fontein <felix@fontein.de>
dnf_config_manager: use --assumeyes when changing state (#9124)
* dnf_config_manager: use --assumeyesm when changing state
* changelog fragment
* update tests
* format fix
* Update changelogs/fragments/9124-dnf_config_manager.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 36c7e56005)
Co-authored-by: Andrew Hyatt <4400272+ahyattdev@users.noreply.github.com>
Skip timezone test on RHEL 7.9 VMs (#9035)
Skip timezone test on RHEL 7.9 VMs.
(cherry picked from commit b1f4604067)
Co-authored-by: Felix Fontein <felix@fontein.de>
bitwarden_secrets_manager lookup plugin: support more current versions of BWS CLI (#9028)
* add support for getting secrets in the current version of bitwarden secrets manager
* format
* format2
* fragment
* fix formatting errors
* strip out junk before the version in cli output
* mock the --version command in the unit tests
* use LooseVersion comparison - russoz suggestion
* add blank line
(cherry picked from commit 1180843e35)
Co-authored-by: Zac <zgibson@live.com>
opennebula inventory: add VM ID and VM host to data (#8532)
* Add VM id and VM host to opennebula inventory data
##### SUMMARY
<!--- Describe the change below, including rationale and design decisions --> To enable greater use of the inventory, add the ID of the VM, and the hostname of the host the VM is running on to the inventory output
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
<!--- Please do not forget to include a changelog fragment:
https://docs.ansible.com/ansible/devel/community/collection_development_process.html#creating-changelog-fragments
No need to include one for docs-only or test-only PR, and for new plugin/module PRs.
Read about more details in CONTRIBUTING.md.
-->
##### ISSUE TYPE
<!--- Pick one or more below and delete the rest.
'Test Pull Request' is for PRs that add/extend tests without code changes. -->
- Feature Pull Request
##### COMPONENT NAME
<!--- Write the SHORT NAME of the module, plugin, task or feature below. --> opennebula.py
##### ADDITIONAL INFORMATION
<!--- Include additional information to help people understand the change here --> <!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->
<!--- Paste verbatim command output below, e.g. before and after your change -->
```paste below
"host": "foo23.host",
"id": 1234,
```
* Create 8532-expand-opennuebula-inventory-data.yml
* Update opennebula.py
* Update changelogs/fragments/8532-expand-opennuebula-inventory-data.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add check for empty records and add test
* fix attribute test
* fix attribute test
* fix attribute test
* fix attribute test
* Update plugins/inventory/opennebula.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* update as per guidance
* restore attribute checks
* fix attr
* fix indent
* PR Fixes
* add attribute check in case of empty variable
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Александр Бакановский <abakanovskii@astralinux.ru>
(cherry picked from commit 24b74cc4b9)
Co-authored-by: Tom Paine <github@aioue.net>
keycloak_userprofile: improve diff by deserializing fetched `kc.user.profile.config` and serializing it before sending (#8940)
* deserialize fetched `kc.user.profile.config` and serialize it before sending
* change `kc.user.profile.config` to JSON formatted string in mock `get_component` responses
* add changelog fragment
(cherry picked from commit c814fd0530)
Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
udm_user, homectl: use legacycrypt on Python 3.13+ (#8987)
Use legacycrypt on Python 3.13+.
(cherry picked from commit 29a2df8e6b)
Co-authored-by: Felix Fontein <felix@fontein.de>
unit test helper: big revamp (#8894)
* initial commit
* multiple changes:
- TestCaseContext fixture no longer need to autouse=True
- Helper.from_module() allows extra param to specify yaml file
- test_django_check: adjusted .py and .yaml
* set fixtures per testcase
* set fixtures per testcase
* rollback to original state
* patch_ansible_module fixture
- now it works not only in parametrized functions but also directly with args
* tests/unit/plugins/modules/helper.py
- improved encapsulation, class Helper no longer knows details about test cases
- test functions no longer parametrized, that allows using test case fixtures per test function
- renamed 'context' to 'mock'
* enable Helper.from_list(), better param name 'ansible_module'
* adjusted test fiels to new helper
* remove unnecessary .license file
* fix bracket
* fix reference name
* Update tests/unit/plugins/modules/helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* revert to parametrized test func instead of multiple funcs
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 8ef77d8664)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
snap tests: re-enable test for --dangerous using smaller snap (#8861)
(cherry picked from commit 76ebda7faf)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
keycloak_userprofile: new module (#8651)
keycloak_userprofile: new keycloak module to manage user profiles (#8651)
(cherry picked from commit 529af4984c)
Co-authored-by: Eike Waldt <waldt@b1-systems.de>
use dict comprehension in plugins, part 3 (#8833)
* use dict comprehension in plugins, part 3
* add changelog frag
(cherry picked from commit 26df6c7657)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Fix and enable test for datadog_downtime (#8815)
The test has been disabled because it started to fail after an update of
the Datadog API client. The issue itself (id cannot be set in
constructor) and other issues (module name, additional attribute in API
responses) are now fixed. The test is now working fine again.
Fixes#3219.
(cherry picked from commit 593d302f0b)
Co-authored-by: Stefan Birkner <github@stefan-birkner.de>
pipx/pipx_info: add parameter `global` (#8793)
* pipx/pipx_info: add new parameters
* add test for --global, refactor int test main file
* ensure initial state of test
* ensure PATH includes /usr/local/bin
* ensure PATH includes /usr/local/bin for entire block
* ensure minimum version of pip
* ensure pipx 1.6.0 is installed
* push recommendation for pipx 1.7.0 instead of 1.6.0
* add changelog frag
* add deprecatons to changelog frag
* add deprecatons to changelog frag, better
* Update changelogs/fragments/8793-pipx-global.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/8793-pipx-global.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9c9c4cbc3e)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
MH deco: minor refactor (#8766)
* MH deco: minor refactor
* adjustments and improvement in test
* sanity fix
* use func.__self__
* simplify use of self
* add changelog frag
(cherry picked from commit c84fb5577b)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>