test_responsibility_schema.py 877 B

123456789101112131415161718192021222324252627
  1. from pathlib import Path
  2. ROOT = Path(__file__).resolve().parents[1]
  3. def test_responsibility_migration_is_audited_and_data_preserving():
  4. migration = (
  5. ROOT
  6. / "migrations"
  7. / "versions"
  8. / "20260729_270_governance_responsibilities.py"
  9. ).read_text(encoding="utf-8")
  10. assert 'revision = "20260729_270"' in migration
  11. assert 'down_revision = "20260724_260"' in migration
  12. for table in (
  13. "governance_responsibility_scopes",
  14. "governance_responsibility_assignments",
  15. "governance_responsibility_audit_events",
  16. ):
  17. assert f"CREATE TABLE IF NOT EXISTS public.{table}" in migration
  18. assert "responsibility_role" in migration
  19. assert "raci_role" in migration
  20. assert "before_state JSONB" in migration
  21. assert "after_state JSONB" in migration
  22. assert "DROP TABLE" not in migration.upper()