pytest.ini 1.5 KB

123456789101112131415161718192021222324252627
  1. [pytest]
  2. testpaths = .
  3. asyncio_mode = auto
  4. asyncio_default_fixture_loop_scope = function
  5. filterwarnings =
  6. ignore::DeprecationWarning
  7. ignore::sqlalchemy.exc.SAWarning
  8. # Filter warnings from async mocks - coroutines created by mocks that are
  9. # intentionally not awaited (expected behavior in unit tests)
  10. ignore:coroutine.*was never awaited:RuntimeWarning
  11. # Starlette ≥ 1.1 fires its own StarletteDeprecationWarning at import
  12. # time of starlette.testclient asking us to migrate to ``httpx2``.
  13. # Upstream-internal migration; nothing actionable in Bambuddy and a
  14. # full move to httpx2 is its own change. Match by message text so the
  15. # filter holds regardless of which warning class starlette uses.
  16. ignore:Using .httpx. with .starlette.testclient. is deprecated
  17. # asyncpg's query-cancel task on PostgreSQL, still pending when a test
  18. # worker shuts down and finalized then (KeyError '__import__'), so it is
  19. # pinned on whatever test ran last. conftest waits for these per test;
  20. # this hides the rest. Only this coroutine: other unraisables still show.
  21. ignore:Exception ignored in. <coroutine object Connection._cancel:pytest.PytestUnraisableExceptionWarning
  22. markers =
  23. unit: Unit tests (fast, no external deps)
  24. integration: Integration tests (slower, test full API)
  25. slow: Slow tests (skip with -m "not slow")
  26. docker: marks tests that run in Docker integration environment
  27. sqlite_only: tests of SQLite-specific behaviour, skipped when the suite runs on PostgreSQL