Files
taskncoffee/tests/conftest.py
2025-08-17 12:55:41 +03:00

25 lines
1.0 KiB
Python

import pytest
from sqlalchemy import NullPool, insert
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
from src.core.auth_manager import AuthManager
from src.core.database import Base
from src.models import * # noqa: F403
engine_null_pool = create_async_engine('sqlite+aiosqlite:///tests/test_db.db', poolclass=NullPool)
@pytest.fixture(scope="session", autouse=True)
async def setup_database():
hashed_pass = AuthManager.get_password_hash("admin")
user_admin = {"username": "admin", "hashed_password": hashed_pass, "is_superuser": True}
async with engine_null_pool.begin() as conn:
await conn.run_sync(Base.metadata.drop_all)
await conn.run_sync(Base.metadata.create_all)
async with async_sessionmaker(engine_null_pool, expire_on_commit=False)() as conn:
result = await conn.execute(insert(UsersORM).values(user_admin).returning(UsersORM)) # noqa: F405
await conn.commit()
admin = result.scalar_one()
assert admin.is_superuser is True