module_helper.py Breakdown (#2393)

* break down of module_helper into smaller pieces, keeping compatibility

* removed abc.ABC (py3 only) from code + fixed reference to vars.py

* multiple changes:

- mh.base - moved more functionalities to ModuleHelperBase
- mh.mixins.(cmd, state) - CmdMixin no longer inherits from ModuleHelperBase
- mh.mixins.deps - DependencyMixin now overrides run() method to test dependency
- mh.mixins.vars - created class VarsMixin
- mh.module_helper - moved functions to base class, added VarsMixin
- module_helper - importing AnsibleModule as well, for backward compatibility in test

* removed unnecessary __all__

* make pylint happy

* PR adjustments + bot config + changelog frag

* Update plugins/module_utils/mh/module_helper.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/module_utils/mh/module_helper.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Alexei Znamensky 2021-05-12 05:31:10 +12:00 committed by GitHub
parent 9d46ccf1b2
commit d22dd5056e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 625 additions and 508 deletions

View file

@ -6,12 +6,10 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
from collections import namedtuple
import pytest
from ansible_collections.community.general.plugins.module_utils.module_helper import (
ArgFormat, DependencyCtxMgr, ModuleHelper, VarMeta, cause_changes
ArgFormat, DependencyCtxMgr, VarMeta, VarDict, cause_changes
)
@ -144,7 +142,7 @@ def test_variable_meta_diff():
def test_vardict():
vd = ModuleHelper.VarDict()
vd = VarDict()
vd.set('a', 123)
assert vd['a'] == 123
assert vd.a == 123