Files
call-center/tests/conftest.py
T

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