Files
fast_api_template/backend/tests/conftest.py
T

43 lines
1.2 KiB
Python
Raw Normal View History

2024-02-25 19:39:33 +01:00
from collections.abc import Generator
import pytest
2020-04-20 20:31:29 +02:00
from fastapi.testclient import TestClient
from sqlmodel import Session, delete
from app.core.config import settings
2024-03-02 05:01:59 -05:00
from app.core.db import engine, init_db
2020-04-20 20:31:29 +02:00
from app.main import app
from app.models import Item, User
from tests.utils.user import authentication_token_from_email
from tests.utils.utils import get_superuser_token_headers
@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]:
2020-04-20 20:31:29 +02:00
with TestClient(app) as c:
yield c
@pytest.fixture(scope="module")
2024-02-25 19:39:33 +01:00
def superuser_token_headers(client: TestClient) -> dict[str, str]:
2020-04-20 20:31:29 +02:00
return get_superuser_token_headers(client)
2020-01-19 13:25:17 +01:00
@pytest.fixture(scope="module")
2024-02-25 19:39:33 +01:00
def normal_user_token_headers(client: TestClient, db: Session) -> dict[str, str]:
2020-04-20 20:31:29 +02:00
return authentication_token_from_email(
client=client, email=settings.EMAIL_TEST_USER, db=db
)