1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Move Proxmox HAS_PROXMOXER check into module_utils. (#4030)

* Move Proxmox `HAS_PROXMOXER` check into `module_utils`.

* Fix tests.

* Fix typo.

* Update changelog entry.
This commit is contained in:
Markus Reiter 2022-01-16 20:13:47 +01:00 committed by GitHub
parent 3faffe8f47
commit 761fbe4fa3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 16 additions and 24 deletions

View file

@ -0,0 +1,3 @@
---
minor_changes:
- proxmox modules - move ``HAS_PROXMOXER`` check into ``module_utils`` (https://github.com/ansible-collections/community.general/pull/4030).

View file

@ -68,6 +68,9 @@ def ansible_to_proxmox_bool(value):
class ProxmoxAnsible(object): class ProxmoxAnsible(object):
"""Base class for Proxmox modules""" """Base class for Proxmox modules"""
def __init__(self, module): def __init__(self, module):
if not HAS_PROXMOXER:
module.fail_json(msg=missing_required_lib('proxmoxer'), exception=PROXMOXER_IMP_ERR)
self.module = module self.module = module
self.proxmox_api = self._connect() self.proxmox_api = self._connect()
# Test token validity # Test token validity

View file

@ -76,7 +76,7 @@ proxmox_domains:
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible_collections.community.general.plugins.module_utils.proxmox import ( from ansible_collections.community.general.plugins.module_utils.proxmox import (
proxmox_auth_argument_spec, ProxmoxAnsible, HAS_PROXMOXER, PROXMOXER_IMP_ERR) proxmox_auth_argument_spec, ProxmoxAnsible)
class ProxmoxDomainInfoAnsible(ProxmoxAnsible): class ProxmoxDomainInfoAnsible(ProxmoxAnsible):
@ -114,9 +114,6 @@ def main():
changed=False changed=False
) )
if not HAS_PROXMOXER:
module.fail_json(msg=missing_required_lib('proxmoxer'), exception=PROXMOXER_IMP_ERR)
proxmox = ProxmoxDomainInfoAnsible(module) proxmox = ProxmoxDomainInfoAnsible(module)
domain = module.params['domain'] domain = module.params['domain']

View file

@ -73,7 +73,7 @@ proxmox_groups:
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible_collections.community.general.plugins.module_utils.proxmox import ( from ansible_collections.community.general.plugins.module_utils.proxmox import (
proxmox_auth_argument_spec, ProxmoxAnsible, HAS_PROXMOXER, PROXMOXER_IMP_ERR) proxmox_auth_argument_spec, ProxmoxAnsible)
class ProxmoxGroupInfoAnsible(ProxmoxAnsible): class ProxmoxGroupInfoAnsible(ProxmoxAnsible):
@ -124,9 +124,6 @@ def main():
changed=False changed=False
) )
if not HAS_PROXMOXER:
module.fail_json(msg=missing_required_lib('proxmoxer'), exception=PROXMOXER_IMP_ERR)
proxmox = ProxmoxGroupInfoAnsible(module) proxmox = ProxmoxGroupInfoAnsible(module)
group = module.params['group'] group = module.params['group']

View file

@ -197,7 +197,7 @@ def main():
) )
if not HAS_PROXMOXER: if not HAS_PROXMOXER:
module.fail_json(msg=missing_required_lib('python-proxmoxer'), module.fail_json(msg=missing_required_lib('proxmoxer'),
exception=PROXMOXER_IMP_ERR) exception=PROXMOXER_IMP_ERR)
state = module.params['state'] state = module.params['state']

View file

@ -111,7 +111,7 @@ proxmox_storages:
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible_collections.community.general.plugins.module_utils.proxmox import ( from ansible_collections.community.general.plugins.module_utils.proxmox import (
proxmox_auth_argument_spec, ProxmoxAnsible, HAS_PROXMOXER, PROXMOXER_IMP_ERR, proxmox_to_ansible_bool) proxmox_auth_argument_spec, ProxmoxAnsible, proxmox_to_ansible_bool)
class ProxmoxStorageInfoAnsible(ProxmoxAnsible): class ProxmoxStorageInfoAnsible(ProxmoxAnsible):
@ -170,9 +170,6 @@ def main():
changed=False changed=False
) )
if not HAS_PROXMOXER:
module.fail_json(msg=missing_required_lib('proxmoxer'), exception=PROXMOXER_IMP_ERR)
proxmox = ProxmoxStorageInfoAnsible(module) proxmox = ProxmoxStorageInfoAnsible(module)
storage = module.params['storage'] storage = module.params['storage']
storagetype = module.params['type'] storagetype = module.params['type']

View file

@ -116,7 +116,7 @@ msg:
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible_collections.community.general.plugins.module_utils.proxmox import ( from ansible_collections.community.general.plugins.module_utils.proxmox import (
proxmox_auth_argument_spec, ProxmoxAnsible, HAS_PROXMOXER, PROXMOXER_IMP_ERR) proxmox_auth_argument_spec, ProxmoxAnsible)
class ProxmoxTaskInfoAnsible(ProxmoxAnsible): class ProxmoxTaskInfoAnsible(ProxmoxAnsible):
@ -163,9 +163,6 @@ def main():
supports_check_mode=True) supports_check_mode=True)
result = dict(changed=False) result = dict(changed=False)
if not HAS_PROXMOXER:
module.fail_json(msg=missing_required_lib(
'proxmoxer'), exception=PROXMOXER_IMP_ERR)
proxmox = ProxmoxTaskInfoAnsible(module) proxmox = ProxmoxTaskInfoAnsible(module)
upid = module.params['task'] upid = module.params['task']
node = module.params['node'] node = module.params['node']

View file

@ -156,7 +156,7 @@ proxmox_users:
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible_collections.community.general.plugins.module_utils.proxmox import ( from ansible_collections.community.general.plugins.module_utils.proxmox import (
proxmox_auth_argument_spec, ProxmoxAnsible, proxmox_to_ansible_bool, HAS_PROXMOXER, PROXMOXER_IMP_ERR) proxmox_auth_argument_spec, ProxmoxAnsible, proxmox_to_ansible_bool)
class ProxmoxUserInfoAnsible(ProxmoxAnsible): class ProxmoxUserInfoAnsible(ProxmoxAnsible):
@ -232,9 +232,6 @@ def main():
changed=False changed=False
) )
if not HAS_PROXMOXER:
module.fail_json(msg=missing_required_lib('proxmoxer'), exception=PROXMOXER_IMP_ERR)
proxmox = ProxmoxUserInfoAnsible(module) proxmox = ProxmoxUserInfoAnsible(module)
domain = module.params['domain'] domain = module.params['domain']
user = module.params['user'] user = module.params['user']

View file

@ -12,6 +12,7 @@ import pytest
import json import json
from ansible_collections.community.general.plugins.modules.cloud.misc import proxmox_tasks_info from ansible_collections.community.general.plugins.modules.cloud.misc import proxmox_tasks_info
import ansible_collections.community.general.plugins.module_utils.proxmox as proxmox_utils
from ansible_collections.community.general.plugins.module_utils.proxmox import ProxmoxAnsible from ansible_collections.community.general.plugins.module_utils.proxmox import ProxmoxAnsible
from ansible_collections.community.general.tests.unit.compat.mock import MagicMock, patch from ansible_collections.community.general.tests.unit.compat.mock import MagicMock, patch
from ansible_collections.community.general.tests.unit.plugins.modules.utils import ( from ansible_collections.community.general.tests.unit.plugins.modules.utils import (
@ -144,7 +145,7 @@ def test_get_tasks(connect_mock, capfd, mocker):
return m return m
connect_mock.side_effect = f connect_mock.side_effect = f
proxmox_tasks_info.HAS_PROXMOXER = True proxmox_utils.HAS_PROXMOXER = True
with pytest.raises(SystemExit): with pytest.raises(SystemExit):
proxmox_tasks_info.main() proxmox_tasks_info.main()
@ -170,7 +171,7 @@ def test_get_single_task(connect_mock, capfd, mocker):
return m return m
connect_mock.side_effect = f connect_mock.side_effect = f
proxmox_tasks_info.HAS_PROXMOXER = True proxmox_utils.HAS_PROXMOXER = True
with pytest.raises(SystemExit): with pytest.raises(SystemExit):
proxmox_tasks_info.main() proxmox_tasks_info.main()
@ -197,7 +198,7 @@ def test_get_non_existent_task(connect_mock, capfd, mocker):
return m return m
connect_mock.side_effect = f connect_mock.side_effect = f
proxmox_tasks_info.HAS_PROXMOXER = True proxmox_utils.HAS_PROXMOXER = True
with pytest.raises(SystemExit): with pytest.raises(SystemExit):
proxmox_tasks_info.main() proxmox_tasks_info.main()