diff --git a/tests/conftest.py b/tests/conftest.py index e258ad36..8a4f2d34 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -69,6 +69,17 @@ def no_speed_limit(monkeypatch: pytest.MonkeyPatch) -> None: monkeypatch.setattr(requests_downloader, "speed_limit_locked", False) +@pytest.fixture +def example_service(monkeypatch: pytest.MonkeyPatch) -> None: + """Make the in-repo EXAMPLE the only installed service, whatever the local unshackle.yaml lists.""" + from unshackle.core import services + + path = config.directories.namespace_dir / "services" / "EXAMPLE" / "__init__.py" + monkeypatch.setattr(services, "SERVICES", [path]) + monkeypatch.setattr(services, "MODULES", {}) + monkeypatch.setattr(services, "LOAD_ERRORS", []) + + @pytest.fixture def mux_args(monkeypatch: pytest.MonkeyPatch) -> Callable[..., list[str]]: """Run Tracks.mux up to mkvmerge and return its arguments; ``ids`` is what the track ID probe reports.""" diff --git a/tests/remote/unit/test_handler_proxy_policy.py b/tests/remote/unit/test_handler_proxy_policy.py index c96fc29c..b12cf2fa 100644 --- a/tests/remote/unit/test_handler_proxy_policy.py +++ b/tests/remote/unit/test_handler_proxy_policy.py @@ -48,6 +48,7 @@ def test_region_mismatch_raises(monkeypatch): assert exc_info.value.details == {"service": "EXAMPLE"} +@pytest.mark.usefixtures("example_service") def test_geoblocked_client_region_raises(monkeypatch): patch_server_region(monkeypatch, "CA") service_class = handlers.Services.load("EXAMPLE") diff --git a/tests/remote/unit/test_routes.py b/tests/remote/unit/test_routes.py index b21116cc..a6b19404 100644 --- a/tests/remote/unit/test_routes.py +++ b/tests/remote/unit/test_routes.py @@ -232,6 +232,7 @@ async def test_heartbeat_late_error_counts_as_rejected(aiohttp_client, monkeypat assert stats.errors == {"-": {"SERVICE_ERROR": 1}} +@pytest.mark.usefixtures("example_service") @pytest.mark.parametrize(("service", "counted_as"), [("EXAMPLE", "EXAMPLE"), ("NOT_INSTALLED", "-")]) async def test_error_is_counted_by_service_and_logged_with_its_ref( aiohttp_client, monkeypatch: pytest.MonkeyPatch, caplog: pytest.LogCaptureFixture, service: str, counted_as: str