from __future__ import annotations import os import shutil import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[1] if str(ROOT) not in sys.path: sys.path.insert(0, str(ROOT)) TEST_DATA_DIR = ROOT / ".testdata" if TEST_DATA_DIR.exists(): shutil.rmtree(TEST_DATA_DIR) TEST_DATA_DIR.mkdir(parents=True, exist_ok=True) os.environ.setdefault("CC_DATA_DIR", str(TEST_DATA_DIR)) os.environ.setdefault("DATABASE_URL", f"sqlite:///{(TEST_DATA_DIR / 'mvp_cc_test.db').as_posix()}") def pytest_sessionfinish(session, exitstatus): # noqa: ANN001, ANN201 try: from services.asterisk_bridge_service import app as bridge_app from services.shared.db import engine bridge_app._shutdown() bridge_app._release_bridge_singleton_guard() engine.dispose() except Exception: pass if TEST_DATA_DIR.exists(): try: shutil.rmtree(TEST_DATA_DIR) except PermissionError: pass