def _base_handler_test(self, urlregx, handler, testcontent, url=b'/', expected_code=200): transport = unittest.mock.Mock() router = Router() router.add_handler( urlregx, handler) srv = MockHttpServer(router) srv.connection_made(transport) rline = unittest.mock.Mock() rline.version = (1, 1) message = unittest.mock.Mock() srv.handle_request(rline, message) srv.stream.feed_data(b'GET ') srv.stream.feed_data(url) srv.stream.feed_data(b' HTTP/1.0\r\n' b'Host: example.com\r\n\r\n') self.loop.run_until_complete(srv._request_handler) header = transport.write.mock_calls[0][1][0].decode('utf-8') code = int(re.match("^HTTP/1.1 (\d+) ", header).groups()[0]) self.assertEquals(code, expected_code, ) headers = re.findall(r"(?P<name>.*?): (?P<value>.*?)\r\n", header) content = b''.join([c[1][0] for c in list(transport.write.mock_calls)[2:-2]]) self.assertEqual(content, testcontent) transport = None
def _base_handler_test(self, urlregx, handler, testcontent, url=b'/', expected_code=200): transport = unittest.mock.Mock() router = Router() router.add_handler(urlregx, handler) srv = MockHttpServer(router) srv.connection_made(transport) rline = unittest.mock.Mock() rline.version = (1, 1) message = unittest.mock.Mock() srv.handle_request(rline, message) srv.stream.feed_data(b'GET ') srv.stream.feed_data(url) srv.stream.feed_data(b' HTTP/1.0\r\n' b'Host: example.com\r\n\r\n') self.loop.run_until_complete(srv._request_handler) header = transport.write.mock_calls[0][1][0].decode('utf-8') code = int(re.match("^HTTP/1.1 (\d+) ", header).groups()[0]) self.assertEquals( code, expected_code, ) headers = re.findall(r"(?P<name>.*?): (?P<value>.*?)\r\n", header) content = b''.join( [c[1][0] for c in list(transport.write.mock_calls)[2:-2]]) self.assertEqual(content, testcontent) transport = None
def urls(): router = Router() router.add_handler('/static/', StaticFile('/Users/avelino/projects/nacho/example/')) router.add_handler('/(.*)', Home()) return HttpServer(router, debug=True, keep_alive=75)