diff --git a/Makefile b/Makefile index 5756e3f..ee6e997 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ dev_serve: poetry run uvicorn papi.main:app --reload cleandb: - rm sql_app.db || echo ls + rm test_sql_app.db || echo ls .ONESHELL: test: cleandb diff --git a/tests/test_papi.py b/tests/test_papi.py index 4eb0f77..d0aebff 100644 --- a/tests/test_papi.py +++ b/tests/test_papi.py @@ -5,13 +5,39 @@ import pytest from fastapi import FastAPI from fastapi.testclient import TestClient -from papi.main import app +from papi.main import app, get_db from papi.main import sondes from papi import __version__ from . import utils as testutils +from papi.sqlapp.database import Base +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker + + +SQLALCHEMY_DATABASE_URL = "sqlite:///./test_sql_app.db" + +engine = create_engine( + SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False} +) +TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + + +Base.metadata.create_all(bind=engine) + + +def override_get_db(): + try: + db = TestingSessionLocal() + yield db + finally: + db.close() + + +app.dependency_overrides[get_db] = override_get_db + client = TestClient(app)