123456789101112131415161718192021222324252627282930313233343536373839404142 |
- from collections.abc import Generator
- import pytest
- from app.core.config import settings
- from app.core.db import engine, init_db
- from app.main import app
- from app.models import Item, User
- from app.tests.utils.user import authentication_token_from_email
- from app.tests.utils.utils import get_superuser_token_headers
- from sqlmodel import Session, delete
- from fastapi.testclient import TestClient
- @pytest.fixture(scope="session", autouse=True)
- def db() -> Generator[Session, None, None]:
- with Session(engine) as session:
- init_db(session)
- yield session
- statement = delete(Item)
- session.execute(statement)
- statement = delete(User)
- session.execute(statement)
- session.commit()
- @pytest.fixture(scope="module")
- def client() -> Generator[TestClient, None, None]:
- with TestClient(app) as c:
- yield c
- @pytest.fixture(scope="module")
- def superuser_token_headers(client: TestClient) -> dict[str, str]:
- return get_superuser_token_headers(client)
- @pytest.fixture(scope="module")
- def normal_user_token_headers(client: TestClient, db: Session) -> dict[str, str]:
- return authentication_token_from_email(
- client=client, email=settings.EMAIL_TEST_USER, db=db
- )
|