Reorganize Palladium codebase into a modular architecture with `core/` shared logic and `app/` Streamlit UI, separating per-study assets into `studies/YYYYMM_<Vendor>/` folders containing notebooks, seed data, and configuration. Update README to reflect new structure, add `.gitignore` entries for `.env` and study exports, and refresh component documentation.
33 lines
850 B
Python
33 lines
850 B
Python
"""Pytest fixtures for Palladium tests."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
if str(ROOT) not in sys.path:
|
|
sys.path.insert(0, str(ROOT))
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def _env(monkeypatch):
|
|
"""Default test env vars so TEIClient() doesn't need a real .env."""
|
|
monkeypatch.setenv("ATHENA_BASE_URL", "https://athena.test")
|
|
monkeypatch.setenv("ATHENA_API_KEY", "test-key")
|
|
|
|
|
|
@pytest.fixture
|
|
def amazon_connect_seed():
|
|
"""Load the Amazon Connect study's seed data."""
|
|
sys.path.insert(0, str(ROOT / "studies" / "202602_AmazonConnect"))
|
|
try:
|
|
import seed_data # type: ignore[import-not-found]
|
|
return seed_data
|
|
finally:
|
|
# Leave the path alone — many tests will use the seed
|
|
pass
|