Fast IAAI implementation
This commit is contained in:
36
tests/test_migrations.py
Normal file
36
tests/test_migrations.py
Normal 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
|
||||
Reference in New Issue
Block a user