@@ -100,6 +100,12 @@ def test_pyscript_help(ps_app, capsys, request, command, pyscript_file):
100100 ('media movies list' , 'media_movies_list1.py' ),
101101 ('media movies list' , 'media_movies_list2.py' ),
102102 ('media movies list' , 'media_movies_list3.py' ),
103+ ('media movies list -a "Mark Hamill"' , 'media_movies_list4.py' ),
104+ ('media movies list -a "Mark Hamill" -a "Carrie Fisher"' , 'media_movies_list5.py' ),
105+ ('media movies list -r PG' , 'media_movies_list6.py' ),
106+ ('media movies list -r PG PG-13' , 'media_movies_list7.py' ),
107+ ('media movies add "My Movie" PG-13 --director "George Lucas" "J. J. Abrams"' ,
108+ 'media_movies_add1.py' ),
103109])
104110def test_pyscript_out (ps_app , capsys , request , command , pyscript_file ):
105111 test_dir = os .path .dirname (request .module .__file__ )
@@ -113,3 +119,27 @@ def test_pyscript_out(ps_app, capsys, request, command, pyscript_file):
113119 assert len (out ) > 0
114120 assert out == expected
115121
122+
123+ @pytest .mark .parametrize ('command' , [
124+ 'app.noncommand' ,
125+ 'app.media.noncommand' ,
126+ ])
127+ def test_pyscript_unknown_command (ps_app , capsys , command ):
128+ run_cmd (ps_app , 'py {}' .format (command ))
129+ _ , err = capsys .readouterr ()
130+
131+ assert len (err ) > 0
132+ assert 'Traceback' in err
133+ assert 'AttributeError' in err
134+
135+
136+ @pytest .mark .parametrize ('command' , [
137+ 'app.media.movies.list(artist="Invalid Keyword")' ,
138+ ])
139+ def test_pyscript_unknown_kw (ps_app , capsys , command ):
140+ run_cmd (ps_app , 'py {}' .format (command ))
141+ _ , err = capsys .readouterr ()
142+
143+ assert len (err ) > 0
144+ assert 'Traceback' in err
145+ assert 'TypeError' in err
0 commit comments