[tool.pytest.ini_options] # Only collect the curated suite under tests/. Root-level test_*.py are legacy # scripts (some need live OpenAI/Tavily/Qdrant-Docker) and are wrapped explicitly # by tests/test_offline_suites.py where they are safe to run offline. testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] # Keep the default run green with no credentials/services: skip anything marked live. addopts = "-ra --strict-markers -m 'not live'" markers = [ "unit: fast, no external services or credentials (accounts, guards, config)", "integration: needs the committed CDMS index (data/cdms_metadata.db) + qdrant-client, but NO network/credentials", "live: needs real API keys or a running server (OpenAI/Tavily/FastAPI/Docker-Qdrant) — skipped by default", ] filterwarnings = ["ignore::DeprecationWarning"]