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()
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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
Ejemplo n.º 9
0
    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
Ejemplo n.º 10
0
    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))
Ejemplo n.º 11
0
    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()
Ejemplo n.º 13
0
    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)
Ejemplo n.º 15
0
    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)
Ejemplo n.º 16
0
    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()
Ejemplo n.º 18
0
    def tearDown(self):
        # just in case if we have transport close callbacks
        test_utils.run_briefly(self.loop)

        self.loop.close()
        gc.collect()