import pytest from fastapi.testclient import TestClient from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from app.main import app from app.config import settings from app.database import get_db, Base from app import schemas, models # DATABASE_URL = f'postgresql://{settings.database_username}:{settings.database_password}@{settings.database_hostname}:{settings.database_port}/{settings.database_name}_test' DATABASE_URL = f'postgresql://postgres:2003@localhost:5444/tg_jobs_test' engine = create_engine(DATABASE_URL) TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) @pytest.fixture() def session(): print("my session fixture ran") Base.metadata.drop_all(bind=engine) Base.metadata.create_all(bind=engine) db = TestingSessionLocal() try: yield db finally: db.close() @pytest.fixture() def client(session): def override_get_db(): try: yield session finally: session.close() app.dependency_overrides[get_db] = override_get_db yield TestClient(app)