Fast IAAI implementation

This commit is contained in:
2026-04-24 00:20:42 +03:00
parent 2b0cffc118
commit 3cdb717789
31 changed files with 4880 additions and 0 deletions

36
tests/test_migrations.py Normal file
View File

@@ -0,0 +1,36 @@
from __future__ import annotations
import importlib.util
from pathlib import Path
def _load_module(path: Path): # noqa: ANN202
spec = importlib.util.spec_from_file_location(path.stem, path)
assert spec is not None
assert spec.loader is not None
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module
def test_revision_chain_is_correct() -> None:
base = Path(__file__).resolve().parents[1] / "alembic" / "versions"
rev1 = _load_module(base / "0001_ensure_sync_schema.py")
rev2 = _load_module(base / "0002_extend_origin_enum_for_iaai.py")
rev3 = _load_module(base / "0003_create_iaai_source_tables.py")
assert rev1.revision == "0001_ensure_sync_schema"
assert rev1.down_revision is None
assert rev2.revision == "0002_extend_origin_enum_for_iaai"
assert rev2.down_revision == "0001_ensure_sync_schema"
assert rev3.revision == "0003_create_iaai_source_tables"
assert rev3.down_revision == "0002_extend_origin_enum_for_iaai"
def test_enum_migration_contains_required_values() -> None:
migration = (
Path(__file__).resolve().parents[1] / "alembic" / "versions" / "0002_extend_origin_enum_for_iaai.py"
).read_text(encoding="utf-8")
assert "originenum" in migration
assert "IAAI" in migration
assert "ADD VALUE IF NOT EXISTS" in migration