def test_handle_request_method_raise_delugeerror(self): json = JSON() def get_session_id(s_id): return s_id self.patch(deluge.ui.web.auth, 'get_session_id', get_session_id) auth_conf = {'session_timeout': 10, 'sessions': {}} auth = Auth(auth_conf) request = Request(MagicMock(), False) request.base = '' auth._create_session(request) methods = yield json.get_remote_methods() # Verify the function has been registered self.assertTrue('testclass.test' in methods) request = MagicMock() request.getCookie = MagicMock(return_value=list(auth.config['sessions'])[0]) json_data = {'method': 'testclass.test', 'id': 0, 'params': []} request.json = json_lib.dumps(json_data) request_id, result, error = json._handle_request(request) result.addCallback(self.fail) def on_error(error): self.assertEqual(error.type, DelugeError) result.addErrback(on_error) yield result