diff options
Diffstat (limited to 'tests/unit/modules/conftest.py')
| -rw-r--r-- | tests/unit/modules/conftest.py | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/tests/unit/modules/conftest.py b/tests/unit/modules/conftest.py new file mode 100644 index 00000000..ac56c9c7 --- /dev/null +++ b/tests/unit/modules/conftest.py @@ -0,0 +1,37 @@ +# Copyright (c) 2017 Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +import json + +import pytest + +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): +    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)) | 
