Example #1
0
    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 test_handle_request(self):
        transport = unittest.mock.Mock()
        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 / HTTP/1.0\r\n'
                             b'Host: example.com\r\n\r\n')
        self.loop.run_until_complete(srv._request_handler)

        content = b''.join([c[1][0] for c in list(transport.write.mock_calls)])
        self.assertTrue(content.startswith(b'HTTP/1.1 404 Not Found\r\n'))
Example #4
0
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)