def app() -> Generator[FastAPI, Any, None]: """ Create a fresh database on each test case. """ Base.metadata.create_all(engine) # Create the tables. _app = get_application() _app.add_middleware(DBSessionMiddleware, db_url=SQLALCHEMY_DATABASE_URL) yield _app Base.metadata.drop_all(engine)
def test_db_shutdown(): # Start with no db assert not database_exists(engine.url) # Start app with TestClient(get_application()): # Ensure db exists assert database_exists(engine.url) # Ensure db clears itself after assert not database_exists(engine.url)
def app() -> Generator[FastAPI, Any, None]: """ Create a fresh database on each test case. """ # if not database_exists(engine.url): try: create_database(engine.url) except: pass DBBase.metadata.create_all(engine) # Create the tables. _app = get_application() yield _app DBBase.metadata.drop_all(engine)
def test_db_insert(): with TestClient(get_application()): with DBContextManager() as db: simple_user = models.LabelUser( username="******", full_name="Me Person", email="*****@*****.**", password="******", ) db.add(simple_user) db.commit() with DBContextManager() as db: results = db.query(models.LabelUser).all() assert len(results) == 1 print(results[0])
def app() -> FastAPI: from app.main import get_application # local import for testing purpose app = get_application() app.state.pool = FakeRedisConnectionPool() return app
def app(apply_migrations: None) -> FastAPI: from app.main import get_application # local import for testing purpose return get_application()
def app() -> FastAPI: from app.main import get_application # local import for testing purpose return get_application()
def app() -> FastAPI: from app.main import get_application return get_application()
"""Application instance.""" from app.main import get_application application = get_application()
import os import uvicorn from fastapi import FastAPI from postgres.db.session import DbEventsListener from app.main import get_application from app.postgres.models.users import User asgi_app: FastAPI = get_application() db_events_listener: DbEventsListener = DbEventsListener() @asgi_app.on_event("startup") async def add_app_db_events_listeners(): await db_events_listener.connect() await db_events_listener.add_listener(User) @asgi_app.on_event("shutdown") async def add_app_db_events_listeners(): await db_events_listener.disconnect() if __name__ == "__main__": app_workers: int = os.cpu_count( ) // 6 # https://docs.gunicorn.org/en/stable/design.html#how-many-workers uvicorn.run("asgi:asgi_app", host="0.0.0.0", port=8000, timeout_keep_alive=60,