test_trusted_delivery_hardening_contract.py 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. """Regression contracts for the final WP06 trusted-delivery hardening pass."""
  2. from __future__ import annotations
  3. import importlib
  4. from pathlib import Path
  5. ROOT = Path(__file__).resolve().parents[2]
  6. def test_final_hardening_migration_serializes_asset_state_and_validates_active_grants():
  7. migration = importlib.import_module("migrations.versions.20260811_485_trusted_delivery_hardening")
  8. assert migration.down_revision == "20260811_484"
  9. source = "\n".join(value for value in migration.upgrade.__code__.co_consts if isinstance(value, str))
  10. for required in (
  11. "pg_advisory_xact_lock",
  12. "lock_trusted_delivery_asset",
  13. "enforce_trusted_delivery_grant_active",
  14. "enforce_trusted_delivery_subscription_guard",
  15. "trg_trusted_delivery_hold_asset_lock",
  16. "trg_trusted_delivery_destruction_asset_lock",
  17. ):
  18. assert required in source
  19. def test_openapi_contract_uses_yaml_parser_and_final_hardening_is_deployed_byte_for_byte():
  20. contract = (ROOT / "tests/test_trusted_delivery_openapi_contract.py").read_text()
  21. assert "yaml.safe_load" in contract
  22. assert ".split(f' \"{path}\":'" not in contract
  23. relative = "migrations/versions/20260811_485_trusted_delivery_hardening.py"
  24. assert (ROOT / relative).read_bytes() == (ROOT / "deployment" / relative).read_bytes()