test_unified_responsibility_schema.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from pathlib import Path
  2. ROOT = Path(__file__).resolve().parents[1]
  3. def test_unified_responsibility_migration_is_versioned_audited_and_retained():
  4. migration = (
  5. ROOT
  6. / "migrations"
  7. / "versions"
  8. / "20260801_420_unified_responsibilities.py"
  9. ).read_text(encoding="utf-8")
  10. assert 'revision = "20260801_420"' in migration
  11. assert 'down_revision = "20260731_410"' in migration
  12. for object_type in (
  13. "data_asset",
  14. "semantic_term",
  15. "data_standard",
  16. "quality_policy",
  17. "data_product",
  18. "agent",
  19. ):
  20. assert object_type in migration
  21. for table in (
  22. "governance_responsibility_hierarchy",
  23. "governance_responsibility_delegations",
  24. "governance_responsibility_policies",
  25. "governance_responsibility_policy_versions",
  26. ):
  27. assert f"CREATE TABLE public.{table}" in migration
  28. assert "current_version" in migration
  29. assert "active_version_uid" in migration
  30. assert "departure_transfer" in migration
  31. assert "joint_review" in migration
  32. assert "raise RuntimeError" in migration
  33. assert "DROP TABLE" not in migration.upper()
  34. deployment = (
  35. ROOT
  36. / "deployment"
  37. / "migrations"
  38. / "versions"
  39. / "20260801_420_unified_responsibilities.py"
  40. ).read_text(encoding="utf-8")
  41. assert deployment == migration