diff --git a/tests/unit/plugins/module_utils/conftest.py b/tests/unit/plugins/module_utils/conftest.py deleted file mode 100644 index 2217dd39f9..0000000000 --- a/tests/unit/plugins/module_utils/conftest.py +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (c) 2017 Ansible Project -# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) -# SPDX-License-Identifier: GPL-3.0-or-later - -from __future__ import (absolute_import, division, print_function) -__metaclass__ = type - -import json -import sys -from io import BytesIO - -import pytest - -import ansible.module_utils.basic -from ansible.module_utils.six import PY3, string_types -from ansible.module_utils.common.text.converters import to_bytes -from ansible.module_utils.common._collections_compat import MutableMapping - - -@pytest.fixture -def stdin(mocker, request): - old_args = ansible.module_utils.basic._ANSIBLE_ARGS - ansible.module_utils.basic._ANSIBLE_ARGS = None - old_argv = sys.argv - sys.argv = ['ansible_unittest'] - - 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 stdin pytest fixture') - - fake_stdin = BytesIO(to_bytes(args, errors='surrogate_or_strict')) - if PY3: - mocker.patch('ansible.module_utils.basic.sys.stdin', mocker.MagicMock()) - mocker.patch('ansible.module_utils.basic.sys.stdin.buffer', fake_stdin) - else: - mocker.patch('ansible.module_utils.basic.sys.stdin', fake_stdin) - - yield fake_stdin - - ansible.module_utils.basic._ANSIBLE_ARGS = old_args - sys.argv = old_argv - - -@pytest.fixture -def am(stdin, request): - old_args = ansible.module_utils.basic._ANSIBLE_ARGS - ansible.module_utils.basic._ANSIBLE_ARGS = None - old_argv = sys.argv - sys.argv = ['ansible_unittest'] - - argspec = {} - if hasattr(request, 'param'): - if isinstance(request.param, dict): - argspec = request.param - - am = ansible.module_utils.basic.AnsibleModule( - argument_spec=argspec, - ) - am._name = 'ansible_unittest' - - yield am - - ansible.module_utils.basic._ANSIBLE_ARGS = old_args - sys.argv = old_argv diff --git a/tests/unit/plugins/module_utils/test_known_hosts.py b/tests/unit/plugins/module_utils/test_known_hosts.py index 25e76b66f5..0a1196de93 100644 --- a/tests/unit/plugins/module_utils/test_known_hosts.py +++ b/tests/unit/plugins/module_utils/test_known_hosts.py @@ -93,11 +93,12 @@ def test_get_fqdn_and_port(url, fqdn, port): assert known_hosts.get_fqdn_and_port(url) == (fqdn, port) -@pytest.mark.parametrize('fqdn, port, add_host_key_cmd, stdin', - ((URLS[k]['get_fqdn'], URLS[k]['port'], URLS[k]['add_host_key_cmd'], {}) - for k in sorted(URLS) if URLS[k]['is_ssh_url']), - indirect=['stdin']) -def test_add_host_key(am, mocker, fqdn, port, add_host_key_cmd): +@pytest.mark.parametrize('fqdn, port, add_host_key_cmd', + ((URLS[k]['get_fqdn'], URLS[k]['port'], URLS[k]['add_host_key_cmd']) + for k in sorted(URLS) if URLS[k]['is_ssh_url'])) +def test_add_host_key(mocker, fqdn, port, add_host_key_cmd): + am = mocker.MagicMock() + get_bin_path = mocker.MagicMock() get_bin_path.return_value = keyscan_cmd = "/custom/path/ssh-keyscan" am.get_bin_path = get_bin_path