"""Guard tests — legacy pack machinery must not exist on any transport class. These tests fail while the dead code is present and pass once it is deleted. They permanently prevent the old fetch_pack / push_pack path from being re-introduced. Covered invariants ------------------ - ``HttpTransport`` has no fetch_pack, push_pack, fetch_objects, _iter_object_stream - ``LocalFileTransport`` has no fetch_pack, push_pack, fetch_objects, push_objects, push_object_pack, filter_objects, presign_objects, confirm_objects - ``MuseTransport`` has no fetch_pack - ``muse.core.transport`` module exports no dead TypedDicts: FilterObjectsResult, PresignResponse, ConfirmObjectsResponse, _PushPayload """ from __future__ import annotations import pytest # --------------------------------------------------------------------------- # MuseTransport — abstract base must not declare fetch_pack # --------------------------------------------------------------------------- class TestMuseTransportNoLegacy: def test_no_fetch_pack(self) -> None: from muse.core.transport import MuseTransport assert not hasattr(MuseTransport, "fetch_pack"), ( "MuseTransport.fetch_pack is dead — delete it" ) # --------------------------------------------------------------------------- # HttpTransport # --------------------------------------------------------------------------- class TestHttpTransportNoLegacy: DEAD_METHODS = [ "fetch_pack", "push_pack", "fetch_objects", "_iter_object_stream", ] @pytest.mark.parametrize("method", DEAD_METHODS) def test_method_absent(self, method: str) -> None: from muse.core.transport import HttpTransport assert not hasattr(HttpTransport, method), ( f"HttpTransport.{method} is dead — delete it" ) # --------------------------------------------------------------------------- # LocalFileTransport # --------------------------------------------------------------------------- class TestLocalFileTransportNoLegacy: DEAD_METHODS = [ "fetch_pack", "push_pack", "fetch_objects", "push_objects", "push_object_pack", "filter_objects", "presign_objects", "confirm_objects", ] @pytest.mark.parametrize("method", DEAD_METHODS) def test_method_absent(self, method: str) -> None: from muse.core.transport import LocalFileTransport assert not hasattr(LocalFileTransport, method), ( f"LocalFileTransport.{method} is dead — delete it" ) # --------------------------------------------------------------------------- # Dead TypedDicts must not be exported from the module # --------------------------------------------------------------------------- class TestNoDeadTypedDicts: DEAD_NAMES = [ "FilterObjectsResult", "PresignResponse", "ConfirmObjectsResponse", "_PushPayload", ] @pytest.mark.parametrize("name", DEAD_NAMES) def test_not_in_module(self, name: str) -> None: import muse.core.transport as mod assert not hasattr(mod, name), ( f"muse.core.transport.{name} is a dead TypedDict — delete it" )