"""Общие фикстуры для тестов.""" 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)