summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-21 00:03:20 -0400
committerKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-21 00:03:20 -0400
commit7991e5115780066a35c5fdb440c4a8e77907a163 (patch)
treed8c7b1c49c06ea211dd5ff8cc55a4c1cbe7012de /tests
parent7f3c48e96d428f10f246a783591ad970f482a6e1 (diff)
downloadcmd2-git-7991e5115780066a35c5fdb440c4a8e77907a163.tar.gz
Added unit test
Diffstat (limited to 'tests')
-rw-r--r--tests/test_run_pyscript.py18
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')