diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 16:04:21 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 16:04:21 +0000 |
commit | 8a754e0858d922e955e71b253c139e071ecec432 (patch) | |
tree | 527d16e74bfd1840c85efd675fdecad056c54107 /test/units/module_utils/basic/test_command_nonexisting.py | |
parent | Initial commit. (diff) | |
download | ansible-core-upstream.tar.xz ansible-core-upstream.zip |
Adding upstream version 2.14.3.upstream/2.14.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/units/module_utils/basic/test_command_nonexisting.py')
-rw-r--r-- | test/units/module_utils/basic/test_command_nonexisting.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/units/module_utils/basic/test_command_nonexisting.py b/test/units/module_utils/basic/test_command_nonexisting.py new file mode 100644 index 0000000..6ed7f91 --- /dev/null +++ b/test/units/module_utils/basic/test_command_nonexisting.py @@ -0,0 +1,31 @@ +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import sys +import pytest +import json +import sys +import pytest +import subprocess +import ansible.module_utils.basic +from ansible.module_utils._text import to_bytes +from ansible.module_utils import basic + + +def test_run_non_existent_command(monkeypatch): + """ Test that `command` returns std{out,err} even if the executable is not found """ + def fail_json(msg, **kwargs): + assert kwargs["stderr"] == b'' + assert kwargs["stdout"] == b'' + sys.exit(1) + + def popen(*args, **kwargs): + raise OSError() + + monkeypatch.setattr(basic, '_ANSIBLE_ARGS', to_bytes(json.dumps({'ANSIBLE_MODULE_ARGS': {}}))) + monkeypatch.setattr(subprocess, 'Popen', popen) + + am = basic.AnsibleModule(argument_spec={}) + monkeypatch.setattr(am, 'fail_json', fail_json) + with pytest.raises(SystemExit): + am.run_command("lecho", "whatever") |