Add setup and teardown database for tests (#626)

Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
Esteban Maya
2024-03-01 12:26:05 -05:00
committed by GitHub
parent d0c9a6831c
commit e6a6819c57

View File

@@ -2,19 +2,27 @@ from collections.abc import Generator
import pytest
from fastapi.testclient import TestClient
from sqlmodel import Session
from sqlmodel import Session, delete
from app.core.config import settings
from app.db.engine import engine
from app.db.init_db import 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
@pytest.fixture(scope="session")
@pytest.fixture(scope="session", autouse=True)
def db() -> Generator:
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")