async def METHOD_NAME(self, handler_class):
    app = web.Application(
        [
            (r"/", handler_class),
        ]
    )
    socket, port = tornado.testing.bind_unused_port()
    server = tornado.httpserver.HTTPServer(app)
    server.add_socket(socket)
    client = httpclient.AsyncHTTPClient()
    with assert_no_cycle_garbage():
        # Only the fetch (and the corresponding server-side handler)
        # are being tested for cycles. In particular, the Application
        # object has internal cycles (as of this writing) which we don't
        # care to fix since in real world usage the Application object
        # is effectively a global singleton.
        await client.fetch(f"http://127.0.0.1:{port}/")
    client.close()
    server.stop()
    socket.close()