diff options
Diffstat (limited to 'test/units/modules/utils.py')
-rw-r--r-- | test/units/modules/utils.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/units/modules/utils.py b/test/units/modules/utils.py new file mode 100644 index 0000000000..a0e9351b12 --- /dev/null +++ b/test/units/modules/utils.py @@ -0,0 +1,38 @@ +import json + +from ansible.compat.tests import unittest +from ansible.compat.tests.mock import patch +from ansible.module_utils import basic +from ansible.module_utils._text import to_bytes + + +def set_module_args(args): + args = json.dumps({'ANSIBLE_MODULE_ARGS': args}) + basic._ANSIBLE_ARGS = to_bytes(args) + + +class AnsibleExitJson(Exception): + pass + + +class AnsibleFailJson(Exception): + pass + + +def exit_json(*args, **kwargs): + if 'changed' not in kwargs: + kwargs['changed'] = False + raise AnsibleExitJson(kwargs) + + +def fail_json(*args, **kwargs): + kwargs['failed'] = True + raise AnsibleFailJson(kwargs) + + +class ModuleTestCase(unittest.TestCase): + + def setUp(self): + self.mock_module = patch.multiple(basic.AnsibleModule, exit_json=exit_json, fail_json=fail_json) + self.mock_module.start() + self.addCleanup(self.mock_module.stop) |