Skip to content

Commit 7991e51

Browse files
committed
Added unit test
1 parent 7f3c48e commit 7991e51

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

tests/test_run_pyscript.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,18 @@
33
"""
44
Unit/functional testing for run_pytest in cmd2
55
"""
6+
import builtins
67
import os
7-
from cmd2 import plugin
88

9+
from cmd2 import plugin
910
from .conftest import run_cmd
1011

12+
# Python 3.5 had some regressions in the unitest.mock module, so use 3rd party mock if available
13+
try:
14+
import mock
15+
except ImportError:
16+
from unittest import mock
17+
1118
HOOK_OUTPUT = "TEST_OUTPUT"
1219

1320
def cmdfinalization_hook(data: plugin.CommandFinalizationData) -> plugin.CommandFinalizationData:
@@ -36,6 +43,15 @@ def test_run_pyscript_with_nonexist_file(base_app):
3643
out, err = run_cmd(base_app, "run_pyscript {}".format(python_script))
3744
assert "Error opening script file" in err[0]
3845

46+
def test_run_pyscript_with_non_python_file(base_app, request):
47+
m = mock.MagicMock(name='input', return_value='2')
48+
builtins.input = m
49+
50+
test_dir = os.path.dirname(request.module.__file__)
51+
filename = os.path.join(test_dir, 'scripts', 'help.txt')
52+
out, err = run_cmd(base_app, 'run_pyscript {}'.format(filename))
53+
assert "does not appear to be a Python file" in err[0]
54+
3955
def test_run_pyscript_with_exception(base_app, request):
4056
test_dir = os.path.dirname(request.module.__file__)
4157
python_script = os.path.join(test_dir, 'scripts', 'raises_exception.py')

0 commit comments

Comments
 (0)