import pytest from importlib.util import module_from_spec, spec_from_file_location from pathlib import Path @pytest.mark.unit def test_initial_migration_defines_all_core_tables() -> None: migration_path = Path(__file__).resolve().parents[2] / "alembic" / "versions" / "0001_initial_schema.py" spec = spec_from_file_location("initial_schema", migration_path) assert spec is not None assert spec.loader is not None module = module_from_spec(spec) spec.loader.exec_module(module) assert module.TABLE_NAMES == [ "users", "ssh_keys", "projects", "git_repositories", "user_configs", ] @pytest.mark.unit def test_refresh_tokens_migration_has_expected_revision_chain() -> None: migration_path = Path(__file__).resolve().parents[2] / "alembic" / "versions" / "0002_refresh_tokens.py" spec = spec_from_file_location("refresh_tokens", migration_path) assert spec is not None assert spec.loader is not None module = module_from_spec(spec) spec.loader.exec_module(module) assert module.revision == "0002_refresh_tokens" assert module.down_revision == "0001_initial_schema"