diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-07-21 00:03:20 -0400 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-07-21 00:03:20 -0400 |
commit | 7991e5115780066a35c5fdb440c4a8e77907a163 (patch) | |
tree | d8c7b1c49c06ea211dd5ff8cc55a4c1cbe7012de /tests/test_run_pyscript.py | |
parent | 7f3c48e96d428f10f246a783591ad970f482a6e1 (diff) | |
download | cmd2-git-7991e5115780066a35c5fdb440c4a8e77907a163.tar.gz |
Added unit test
Diffstat (limited to 'tests/test_run_pyscript.py')
-rw-r--r-- | tests/test_run_pyscript.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/test_run_pyscript.py b/tests/test_run_pyscript.py index 50b1e301..374b2233 100644 --- a/tests/test_run_pyscript.py +++ b/tests/test_run_pyscript.py @@ -3,11 +3,18 @@ """ Unit/functional testing for run_pytest in cmd2 """ +import builtins import os -from cmd2 import plugin +from cmd2 import plugin from .conftest import run_cmd +# Python 3.5 had some regressions in the unitest.mock module, so use 3rd party mock if available +try: + import mock +except ImportError: + from unittest import mock + HOOK_OUTPUT = "TEST_OUTPUT" def cmdfinalization_hook(data: plugin.CommandFinalizationData) -> plugin.CommandFinalizationData: @@ -36,6 +43,15 @@ def test_run_pyscript_with_nonexist_file(base_app): out, err = run_cmd(base_app, "run_pyscript {}".format(python_script)) assert "Error opening script file" in err[0] +def test_run_pyscript_with_non_python_file(base_app, request): + m = mock.MagicMock(name='input', return_value='2') + builtins.input = m + + test_dir = os.path.dirname(request.module.__file__) + filename = os.path.join(test_dir, 'scripts', 'help.txt') + out, err = run_cmd(base_app, 'run_pyscript {}'.format(filename)) + assert "does not appear to be a Python file" in err[0] + def test_run_pyscript_with_exception(base_app, request): test_dir = os.path.dirname(request.module.__file__) python_script = os.path.join(test_dir, 'scripts', 'raises_exception.py') |