Files

36 lines
836 B
Python

"""Общие фикстуры для тестов."""
import os
os.environ.setdefault("DATABASE_URL", "sqlite:///./_test.db")
os.environ.setdefault("JWT_SECRET", "test-secret")
os.environ.setdefault("BOT_SERVICE_TOKEN", "svc-token")
import pytest # noqa: E402
from fastapi.testclient import TestClient # noqa: E402
import app.models # noqa: E402,F401
from app.db.session import Base, SessionLocal, engine # noqa: E402
from app.main import app # noqa: E402
@pytest.fixture(scope="session", autouse=True)
def _setup_db():
Base.metadata.drop_all(engine)
Base.metadata.create_all(engine)
yield
Base.metadata.drop_all(engine)
@pytest.fixture()
def db():
session = SessionLocal()
try:
yield session
finally:
session.close()
@pytest.fixture()
def client():
return TestClient(app)