def run(loop, fut): thread_loop = asyncio.new_event_loop() asyncio.set_event_loop(thread_loop) host, port = listen_addr server_coroutine = thread_loop.create_server( lambda: TestHttpServer(keep_alive=0.5), host, port, ssl=sslcontext) server = thread_loop.run_until_complete(server_coroutine) waiter = helpers.create_future(thread_loop) loop.call_soon_threadsafe( fut.set_result, (thread_loop, waiter, server.sockets[0].getsockname())) try: thread_loop.run_until_complete(waiter) finally: # call pending connection_made if present run_briefly(thread_loop) # close opened transports for tr in transports: tr.close() run_briefly(thread_loop) # call close callbacks server.close() thread_loop.stop() thread_loop.close() gc.collect()
def test_connection_lost(self): srv = server.ServerHttpProtocol(loop=self.loop) srv.connection_made(unittest.mock.Mock()) self.addCleanup(self.cleanup_server, srv) srv.data_received(b'123') timeout_handle = srv._timeout_handle = unittest.mock.Mock() keep_alive_handle = srv._keep_alive_handle = unittest.mock.Mock() handle = srv._request_handler srv.connection_lost(None) test_utils.run_briefly(self.loop) self.assertIsNone(srv._request_handler) self.assertTrue(handle.cancelled()) self.assertIsNone(srv._keep_alive_handle) self.assertTrue(keep_alive_handle.cancel.called) self.assertIsNone(srv._timeout_handle) self.assertTrue(timeout_handle.cancel.called) srv.connection_lost(None) self.assertIsNone(srv._request_handler) self.assertIsNone(srv._keep_alive_handle)
def test_read_exception_on_wait(self): read_task = asyncio.Task(self.buffer.read(), loop=self.loop) test_utils.run_briefly(self.loop) self.assertIsInstance(self.buffer._waiter, asyncio.Future) self.buffer.feed_eof() self.buffer.set_exception(ValueError()) self.assertRaises(ValueError, self.loop.run_until_complete, read_task)
def function1129(self): var1390 = asyncio.Task(self.attribute1580.read(), loop=self.attribute1349) test_utils.run_briefly(self.attribute1349) self.assertTrue(helpers.isfuture(self.attribute1580._waiter)) self.attribute1580.feed_eof() self.attribute1580.set_exception(ValueError()) self.assertRaises(ValueError, self.attribute1349.run_until_complete, var1390)
def test_read_cancelled(self): read_task = asyncio.Task(self.buffer.read(), loop=self.loop) test_utils.run_briefly(self.loop) self.assertIsInstance(self.buffer._waiter, asyncio.Future) read_task.cancel() self.assertRaises(asyncio.CancelledError, self.loop.run_until_complete, read_task) self.assertTrue(self.buffer._waiter.cancelled()) self.buffer.feed_data(b'test') self.assertIsNone(self.buffer._waiter)
def function263(self): var1258 = asyncio.Task(self.attribute1580.read(), loop=self.attribute1349) test_utils.run_briefly(self.attribute1349) var4149 = self.attribute1580._waiter self.assertTrue(helpers.isfuture(var4149)) var1258.cancel() self.assertRaises(asyncio.CancelledError, self.attribute1349.run_until_complete, var1258) self.assertTrue(var4149.cancelled()) self.assertIsNone(self.attribute1580._waiter) self.attribute1580.feed_data(b'test', 4) self.assertIsNone(self.attribute1580._waiter)
def test_read_cancelled(self): read_task = asyncio.Task(self.buffer.read(), loop=self.loop) test_utils.run_briefly(self.loop) self.assertIsInstance(self.buffer._waiter, asyncio.Future) read_task.cancel() self.assertRaises( asyncio.CancelledError, self.loop.run_until_complete, read_task) self.assertTrue(self.buffer._waiter.cancelled()) self.buffer.feed_data(b'test') self.assertIsNone(self.buffer._waiter)
def timed_request(self, url, update_time, send_time): time_func = "time.monotonic" with mock.patch(time_func, return_value=update_time): self.jar.update_cookies(self.cookies_to_send) with mock.patch(time_func, return_value=send_time): test_utils.run_briefly(self.loop) cookies_sent = self.jar.filter_cookies(url) self.jar.cookies.clear() return cookies_sent
def timed_request( self, url, update_time, send_time): time_func = "time.monotonic" with mock.patch(time_func, return_value=update_time): self.jar.update_cookies(self.cookies_to_send) with mock.patch(time_func, return_value=send_time): test_utils.run_briefly(self.loop) cookies_sent = self.jar.filter_cookies(url) self.jar.cookies.clear() return cookies_sent
def test_handle_cancelled(self): log = unittest.mock.Mock() transport = unittest.mock.Mock() srv = server.ServerHttpProtocol(log=log, debug=True, loop=self.loop) srv.connection_made(transport) srv.handle_request = unittest.mock.Mock() test_utils.run_briefly(self.loop) # start request_handler task srv.stream.feed_data(b'GET / HTTP/1.0\r\n' b'Host: example.com\r\n\r\n') r_handler = srv._request_handler srv._request_handler = None # emulate srv.connection_lost() self.assertIsNone(self.loop.run_until_complete(r_handler))
def test_handle_cancelled(self): log = unittest.mock.Mock() transport = unittest.mock.Mock() srv = server.ServerHttpProtocol(logger=log, debug=True, loop=self.loop) srv.connection_made(transport) self.addCleanup(self.cleanup_server, srv) srv.handle_request = unittest.mock.Mock() test_utils.run_briefly(self.loop) # start request_handler task srv.reader.feed_data(b"GET / HTTP/1.0\r\n" b"Host: example.com\r\n\r\n") r_handler = srv._request_handler srv._request_handler = None # emulate srv.connection_lost() self.assertIsNone(self.loop.run_until_complete(r_handler))
def function1665(arg1231, arg132): var3476 = asyncio.new_event_loop() asyncio.set_event_loop(var3476) (var4510, var57) = listen_addr var2451 = var3476.create_server((lambda : Class224(web.Server(function1639, loop=var3476), keepalive_timeout=0.5)), var4510, var57, ssl=var3674) var1618 = var3476.run_until_complete(var2451) var954 = helpers.create_future(var3476) arg1231.call_soon_threadsafe(arg132.set_result, (var3476, var954, var1618.sockets[0].getsockname())) try: var3476.run_until_complete(var954) finally: run_briefly(var3476) for var3651 in var653: var3651.close() run_briefly(var3476) var1618.close() var3476.stop() var3476.close() gc.collect()
def test_connection_lost(self): srv = server.ServerHttpProtocol(loop=self.loop) srv.connection_made(unittest.mock.Mock()) srv.data_received(b'123') timeout_handle = srv._timeout_handle = unittest.mock.Mock() keep_alive_handle = srv._keep_alive_handle = unittest.mock.Mock() handle = srv._request_handler srv.connection_lost(None) test_utils.run_briefly(self.loop) self.assertIsNone(srv._request_handler) self.assertTrue(handle.cancelled()) self.assertIsNone(srv._keep_alive_handle) self.assertTrue(keep_alive_handle.cancel.called) self.assertIsNone(srv._timeout_handle) self.assertTrue(timeout_handle.cancel.called) srv.connection_lost(None) self.assertIsNone(srv._request_handler) self.assertIsNone(srv._keep_alive_handle)
def function261(self): var398 = self.function1833() @asyncio.coroutine def function2165(): yield from var398.readline() var1888 = asyncio.Task(function2165(), loop=self.attribute1361) test_utils.run_briefly(self.attribute1361) var1888.cancel() test_utils.run_briefly(self.attribute1361) var398.set_exception(RuntimeError('message')) test_utils.run_briefly(self.attribute1361) self.assertIs(var398._waiter, None)
def test_exception_cancel(self): stream = self._make_one() async def read_a_line(): await stream.readline() t = asyncio.Task(read_a_line(), loop=self.loop) test_utils.run_briefly(self.loop) t.cancel() test_utils.run_briefly(self.loop) # The following line fails if set_exception() isn't careful. stream.set_exception(RuntimeError('message')) test_utils.run_briefly(self.loop) self.assertIs(stream._waiter, None)
def function2337(self): test_utils.run_briefly(self.attribute2267) self.attribute2267.close() gc.collect()
def tearDown(self): # just in case if we have transport close callbacks test_utils.run_briefly(self.loop) self.loop.close() gc.collect()