"""Connector-test fixtures (scoped to tests/connectors so the root conftest stays untouched). Tests marked `live` hit the real IMF/OECD/Eurostat endpoints; they are skipped unless selected with `pytest -m live`. """ from __future__ import annotations from datetime import UTC, datetime from pathlib import Path import pytest FIXTURES = Path(__file__).resolve().parent.parent / "fixtures" def pytest_collection_modifyitems(config: pytest.Config, items: list[pytest.Item]) -> None: markexpr = config.getoption("-m", default="") or "" if "live" in markexpr: return skip = pytest.mark.skip(reason="live test — select explicitly with `pytest -m live`") for item in items: if "live" in item.keywords: item.add_marker(skip) @pytest.fixture def fixtures_dir() -> Path: return FIXTURES @pytest.fixture def retrieved_at() -> datetime: return datetime(2026, 9, 11, 12, 0, tzinfo=UTC)