@@ -66,6 +66,26 @@ def test_execute_method_returns_string(self):
6666
6767 self .router .invoke_method .assert_called_with (module = self .module2 , method = 'remote_method' , params = [], env = {'variable1' : 'value1' }, callback = {})
6868 assert_that (json .loads (output .data .decode (output .charset )), is_ ('simple string' ))
69+ assert_that (output .status_code , is_ (200 ))
70+
71+ def test_execute_method_raise_an_exception (self ):
72+ self .router .invoke_method .side_effect = Exception ('Some Error' )
73+ output = self .api_client .post (self .generate_module_path ('module2' ),
74+ headers = {'Content-Type' : 'application/json' },
75+ data = json .dumps (
76+ {
77+ "method" : "remote_method" ,
78+ "params" : [],
79+ "env" : {
80+ "variable1" : "value1"
81+ },
82+ "callback" : {}
83+ }
84+ ))
85+
86+ self .router .invoke_method .assert_called_with (module = self .module2 , method = 'remote_method' , params = [], env = {'variable1' : 'value1' }, callback = {})
87+ assert_that (json .loads (output .data .decode (output .charset )), is_ ('Some Error' ))
88+ assert_that (output .status_code , is_ (500 ))
6989
7090 def test_execute_method_returns_list (self ):
7191 self .router .invoke_method .return_value = ['a' , 'b' , 'c' ]
@@ -84,6 +104,7 @@ def test_execute_method_returns_list(self):
84104
85105 self .router .invoke_method .assert_called_with (module = self .module2 , method = 'remote_method' , params = [], env = {'variable1' : 'value1' }, callback = {})
86106 assert_that (json .loads (output .data .decode (output .charset )), is_ (['a' , 'b' , 'c' ]))
107+ assert_that (output .status_code , is_ (200 ))
87108
88109 def test_invoking_unknown_module_returns_a_404 (self ):
89110 output = self .api_client .post (self .generate_module_path ('new_module' ),
@@ -106,6 +127,7 @@ def test_listing_unknown_module_returns_a_404(self):
106127
107128 assert_that (output .status_code , is_ (404 ))
108129
130+
109131class NoTrailingSlashApiTest (ApiTest ):
110132 def generate_module_path (self , module_name ):
111133 return '/{0}' .format (module_name )
0 commit comments