async def METHOD_NAME(
        setup_app: Callable[[App], None],
        project_root: str = '',
) -> LonaContext:
    # setup lona app
    lona_app = App(project_root or str(request.fspath))
    setup_app(lona_app)
    # setup client
    async def setup_aiohttp_app() -> Application:
        lona_app.setup_server(loop=event_loop)
        return cast(Application, lona_app.aiohttp_app)
    client = await aiohttp_client(await setup_aiohttp_app())
    return LonaContext(
        client=client,
        app=lona_app,
        server=cast(Server, lona_app.server),
        event_loop=event_loop,
        pytestconfig=pytestconfig,
    )