summaryrefslogtreecommitdiff
path: root/test/units/modules/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/units/modules/conftest.py')
-rw-r--r--test/units/modules/conftest.py21
1 files changed, 15 insertions, 6 deletions
diff --git a/test/units/modules/conftest.py b/test/units/modules/conftest.py
index c60c586d..a7d1e047 100644
--- a/test/units/modules/conftest.py
+++ b/test/units/modules/conftest.py
@@ -8,15 +8,24 @@ import json
import pytest
-from ansible.module_utils.common.text.converters import to_bytes
+from ansible.module_utils.six import string_types
+from ansible.module_utils._text import to_bytes
+from ansible.module_utils.common._collections_compat import MutableMapping
@pytest.fixture
def patch_ansible_module(request, mocker):
- request.param = {'ANSIBLE_MODULE_ARGS': request.param}
- request.param['ANSIBLE_MODULE_ARGS']['_ansible_remote_tmp'] = '/tmp'
- request.param['ANSIBLE_MODULE_ARGS']['_ansible_keep_remote_files'] = False
-
- args = json.dumps(request.param)
+ if isinstance(request.param, string_types):
+ args = request.param
+ elif isinstance(request.param, MutableMapping):
+ if 'ANSIBLE_MODULE_ARGS' not in request.param:
+ request.param = {'ANSIBLE_MODULE_ARGS': request.param}
+ if '_ansible_remote_tmp' not in request.param['ANSIBLE_MODULE_ARGS']:
+ request.param['ANSIBLE_MODULE_ARGS']['_ansible_remote_tmp'] = '/tmp'
+ if '_ansible_keep_remote_files' not in request.param['ANSIBLE_MODULE_ARGS']:
+ request.param['ANSIBLE_MODULE_ARGS']['_ansible_keep_remote_files'] = False
+ args = json.dumps(request.param)
+ else:
+ raise Exception('Malformed data to the patch_ansible_module pytest fixture')
mocker.patch('ansible.module_utils.basic._ANSIBLE_ARGS', to_bytes(args))