tests/init

This commit is contained in:
SouthFox 2023-04-03 09:50:59 +08:00
parent 9019b412c9
commit 23cb7f3c89
2 changed files with 43 additions and 0 deletions

33
tests/conftest.py Normal file
View file

@ -0,0 +1,33 @@
#!/usr/bin/env python3
import pytest
import pytest_asyncio
from typing import Generator
from fastapi.testclient import TestClient
from app.main import app
from app.database import Base
from app.database import async_engine
from app.database import async_session
from app.database import engine
from app.database import SessionLocal
from sqlalchemy import orm
_Session = orm.scoped_session(SessionLocal)
@pytest.fixture
def db():
Base.metadata.create_all(bind=engine)
with _Session() as db_session:
try:
yield db_session
finally:
db_session.close()
Base.metadata.drop_all(bind=engine)
@pytest.fixture
def client(db) -> Generator:
with TestClient(app) as c:
yield c

10
tests/test_main.py Normal file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env python3
from fastapi.testclient import TestClient
from sqlalchemy.orm import Session
def test_index__html(client: TestClient):
response = client.get("/")
assert response.status_code == 200
# assert response.headers["content-type"].startswith("text/html")