1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

Fix tests

This commit is contained in:
MoonTestUse1
2025-01-06 23:17:51 +06:00
parent dbcfa0513f
commit f77782dabe
4 changed files with 39 additions and 30 deletions

View File

@@ -8,18 +8,24 @@ from .models.employee import Employee # noqa
from .models.request import Request # noqa
from .models.token import Token # noqa
# Используем разные URL для тестов и продакшена
SQLALCHEMY_DATABASE_URL = settings.DATABASE_URL
# Для SQLite нужны специальные параметры подключения
connect_args = {"check_same_thread": False} if settings.DATABASE_URL.startswith("sqlite") else {}
# Создаем движок с нужными параметрами
connect_args = {}
if SQLALCHEMY_DATABASE_URL.startswith("sqlite"):
connect_args["check_same_thread"] = False
engine = create_engine(
SQLALCHEMY_DATABASE_URL,
connect_args=connect_args
)
# Создаем фабрику сессий
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
def get_db():
"""Получение сессии базы данных."""
db = SessionLocal()
try:
yield db

View File

@@ -7,16 +7,17 @@ from .models.base import Base
from .database import engine, SessionLocal
from .routers import admin, employees, requests, auth, statistics
from .db.init_db import init_db
from .core.config import settings
# Создаем таблицы
Base.metadata.create_all(bind=engine)
# Инициализируем базу данных
db = SessionLocal()
try:
init_db(db)
finally:
db.close()
# Создаем таблицы только если не в тестовом режиме
if not settings.TESTING:
Base.metadata.create_all(bind=engine)
# Инициализируем базу данных
db = SessionLocal()
try:
init_db(db)
finally:
db.close()
app = FastAPI(
# Включаем автоматическое перенаправление со слэшем