from pathlib import Path ROOT = Path(__file__).resolve().parents[1] def test_unified_responsibility_migration_is_versioned_audited_and_retained(): migration = ( ROOT / "migrations" / "versions" / "20260801_420_unified_responsibilities.py" ).read_text(encoding="utf-8") assert 'revision = "20260801_420"' in migration assert 'down_revision = "20260731_410"' in migration for object_type in ( "data_asset", "semantic_term", "data_standard", "quality_policy", "data_product", "agent", ): assert object_type in migration for table in ( "governance_responsibility_hierarchy", "governance_responsibility_delegations", "governance_responsibility_policies", "governance_responsibility_policy_versions", ): assert f"CREATE TABLE public.{table}" in migration assert "current_version" in migration assert "active_version_uid" in migration assert "departure_transfer" in migration assert "joint_review" in migration assert "raise RuntimeError" in migration assert "DROP TABLE" not in migration.upper() deployment = ( ROOT / "deployment" / "migrations" / "versions" / "20260801_420_unified_responsibilities.py" ).read_text(encoding="utf-8") assert deployment == migration