| 1234567891011121314151617181920212223242526272829303132333435363738 |
- from pathlib import Path
- ROOT = Path(__file__).resolve().parents[1]
- def test_semantic_governance_migration_is_additive_versioned_and_linked():
- migration = (
- ROOT / "migrations/versions/20260731_390_semantic_governance.py"
- ).read_text(encoding="utf-8")
- assert 'revision = "20260731_390"' in migration
- assert 'down_revision = "20260730_380"' in migration
- for table in (
- "semantic_assets",
- "semantic_asset_versions",
- "semantic_asset_reviews",
- "semantic_asset_links",
- "data_element_field_mappings",
- "semantic_publication_audits",
- ):
- assert f"CREATE TABLE public.{table}" in migration
- assert "UNIQUE (asset_kind, code)" in migration
- assert "UNIQUE (asset_uid, version)" in migration
- assert "REFERENCES public.active_metadata_assets(uid)" in migration
- assert "REFERENCES public.data_elements(uid)" in migration
- assert "rollback_from_version" in migration
- assert "DROP TABLE" not in migration.upper()
- assert "DELETE FROM public" not in migration
- def test_existing_standard_publication_emits_audited_knowledge_event():
- repository = (
- ROOT / "app/core/data_rules/repository.py"
- ).read_text(encoding="utf-8")
- assert "data_standard.version_published" in repository
- assert "semantic_publication_audits" in repository
- assert 'aggregate_type="data_standard"' in repository
|