33 lines
1022 B
Python
33 lines
1022 B
Python
from contextlib import asynccontextmanager
|
|
from pathlib import Path
|
|
from tempfile import TemporaryDirectory
|
|
import pytest
|
|
|
|
from konabot.common.database import DatabaseManager
|
|
from konabot.common.permsys.migrates import execute_migration, get_current_version
|
|
|
|
|
|
@asynccontextmanager
|
|
async def tempdb():
|
|
with TemporaryDirectory() as _tempdir:
|
|
tempdir = Path(_tempdir)
|
|
db = DatabaseManager(tempdir / "perm.sqlite3")
|
|
yield db
|
|
await db.close_all_connections()
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_get_db_version():
|
|
async with tempdb() as db:
|
|
async with db.get_conn() as conn:
|
|
v = await get_current_version(conn)
|
|
assert v == -1
|
|
v = await get_current_version(conn)
|
|
assert v == 0
|
|
await execute_migration(conn, version=1)
|
|
v = await get_current_version(conn)
|
|
assert v == 1
|
|
await execute_migration(conn, version=0)
|
|
v = await get_current_version(conn)
|
|
assert v == 0
|