Show More
@@ -132,6 +132,9 b' class JSONRPCController(WSGIController):' | |||||
132 | self._req_id = json_body['id'] |
|
132 | self._req_id = json_body['id'] | |
133 | self._req_method = json_body['method'] |
|
133 | self._req_method = json_body['method'] | |
134 | self._request_params = json_body['args'] |
|
134 | self._request_params = json_body['args'] | |
|
135 | if not isinstance(self._request_params, dict): | |||
|
136 | self._request_params = {} | |||
|
137 | ||||
135 | log.debug( |
|
138 | log.debug( | |
136 | 'method: %s, params: %s' % (self._req_method, |
|
139 | 'method: %s, params: %s' % (self._req_method, | |
137 | self._request_params) |
|
140 | self._request_params) | |
@@ -212,6 +215,7 b' class JSONRPCController(WSGIController):' | |||||
212 | ) |
|
215 | ) | |
213 |
|
216 | |||
214 | self._rpc_args = {USER_SESSION_ATTR: u} |
|
217 | self._rpc_args = {USER_SESSION_ATTR: u} | |
|
218 | ||||
215 | self._rpc_args.update(self._request_params) |
|
219 | self._rpc_args.update(self._request_params) | |
216 |
|
220 | |||
217 | self._rpc_args['action'] = self._req_method |
|
221 | self._rpc_args['action'] = self._req_method |
@@ -155,6 +155,34 b' class BaseTestApi(object):' | |||||
155 | expected = 'Missing non optional `repoid` arg in JSON DATA' |
|
155 | expected = 'Missing non optional `repoid` arg in JSON DATA' | |
156 | self._compare_error(id_, expected, given=response.body) |
|
156 | self._compare_error(id_, expected, given=response.body) | |
157 |
|
157 | |||
|
158 | def test_api_missing_non_optional_param_args_null(self): | |||
|
159 | id_, params = _build_data(self.apikey, 'get_repo') | |||
|
160 | params = params.replace('"args": {}', '"args": null') | |||
|
161 | response = api_call(self, params) | |||
|
162 | ||||
|
163 | expected = 'Missing non optional `repoid` arg in JSON DATA' | |||
|
164 | self._compare_error(id_, expected, given=response.body) | |||
|
165 | ||||
|
166 | def test_api_missing_non_optional_param_args_bad(self): | |||
|
167 | id_, params = _build_data(self.apikey, 'get_repo') | |||
|
168 | params = params.replace('"args": {}', '"args": 1') | |||
|
169 | response = api_call(self, params) | |||
|
170 | ||||
|
171 | expected = 'Missing non optional `repoid` arg in JSON DATA' | |||
|
172 | self._compare_error(id_, expected, given=response.body) | |||
|
173 | ||||
|
174 | def test_api_args_is_null(self): | |||
|
175 | id_, params = _build_data(self.apikey, 'get_users',) | |||
|
176 | params = params.replace('"args": {}', '"args": null') | |||
|
177 | response = api_call(self, params) | |||
|
178 | self.assertEqual(response.status, '200 OK') | |||
|
179 | ||||
|
180 | def test_api_args_is_bad(self): | |||
|
181 | id_, params = _build_data(self.apikey, 'get_users',) | |||
|
182 | params = params.replace('"args": {}', '"args": 1') | |||
|
183 | response = api_call(self, params) | |||
|
184 | self.assertEqual(response.status, '200 OK') | |||
|
185 | ||||
158 | def test_api_get_users(self): |
|
186 | def test_api_get_users(self): | |
159 | id_, params = _build_data(self.apikey, 'get_users',) |
|
187 | id_, params = _build_data(self.apikey, 'get_users',) | |
160 | response = api_call(self, params) |
|
188 | response = api_call(self, params) |
General Comments 0
You need to be logged in to leave comments.
Login now