36 lines
985 B
Python
36 lines
985 B
Python
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
|