def test_overwrite_handlers(self): request = Request('GET', 'http') handlers = Handlers() handlers.add_handler('request_send', lambda r: 1) resp = handlers.dispatch('request_send', request) self.assertEqual(resp, 1) handlers.add_handler('request_send', lambda r: 2) resp = handlers.dispatch('request_send', request) self.assertEqual(resp, 2)
def test_prepare(self): request = Request('FOO', 'http') client = Client() client.add_handler('request_prepare', _cb_request_prepare) resp = client.request(request) self.assertEqual(resp.status, 400) handlers = Handlers() handlers.add_handler('request_prepare', _cb_request_prepare_change_request) req = handlers.dispatch('request_prepare', request) self.assertEqual(req.method, 'PUT') handlers = Handlers() handlers.add_handler('request_prepare', _cb_request_prepare_do_nothing) req = handlers.dispatch('request_prepare', request) self.assertEqual(req.method, 'FOO') self.assertEqual(req.url, 'http')
def test_execute_handler(self): request = Request('GET', 'http') handlers = Handlers() handlers.add_handler('request_send', _cb_request_send) resp = handlers.dispatch('request_send', request) self.assertIsInstance(resp, Response)