Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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])
Beispiel #5
0
def app() -> FastAPI:
    from app.main import get_application  # local import for testing purpose

    app = get_application()
    app.state.pool = FakeRedisConnectionPool()
    return app
Beispiel #6
0
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()
Beispiel #8
0
def app() -> FastAPI:
    from app.main import get_application

    return get_application()
Beispiel #9
0
"""Application instance."""
from app.main import get_application


application = get_application()
Beispiel #10
0
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,