Source code for babylon.config.testing

"""Testing configuration for Babylon/Babylon.

Provides isolated configuration for unit and integration tests.
Test environments are ephemeral - created and destroyed with each session.
"""

from pathlib import Path
from typing import Final


[docs] class TestingConfig: """Configuration for test environments. Uses in-memory SQLite and temporary directories to ensure test isolation and reproducibility. """ # === Database === DATABASE_URL: Final[str] = "sqlite:///:memory:" DB_POOL_SIZE: Final[int] = 1 DB_MAX_OVERFLOW: Final[int] = 0 # === Logging === LOG_LEVEL: Final[str] = "DEBUG" LOG_DIR: Final[Path] = Path("/tmp/babylon_test_logs") # === Metrics === METRICS_ENABLED: Final[bool] = True # === ChromaDB === CHROMADB_PERSIST_DIR: Final[str] = "/tmp/babylon_test_chroma" # === Flags === TESTING: Final[bool] = True DEBUG: Final[bool] = True