from __future__ import annotations import asyncio import src.main as main_module def test_main_runs_application_composition( monkeypatch, ) -> None: application = object() received_applications: list[object] = [] monkeypatch.setattr( main_module, "create_app", lambda: application, ) async def run(received_application: object) -> None: received_applications.append( received_application, ) monkeypatch.setattr( main_module, "run_application", run, ) asyncio.run(main_module.main()) assert received_applications == [application]