Add backend monitor and notification tests

This commit is contained in:
Keith Smith
2026-05-23 16:14:38 -06:00
parent 5c9f93692a
commit 68d5e0a705
4 changed files with 207 additions and 2 deletions
+51
View File
@@ -0,0 +1,51 @@
from collections.abc import Generator
import pytest
from fastapi.testclient import TestClient
from sqlalchemy import create_engine
from sqlalchemy.orm import Session, sessionmaker
from sqlalchemy.pool import StaticPool
from app.auth.dependencies import get_current_user
from app.db.session import get_db
from app.main import app
from app.models import Base, User
@pytest.fixture
def db_session() -> Generator[Session, None, None]:
engine = create_engine(
"sqlite://",
connect_args={"check_same_thread": False},
poolclass=StaticPool,
)
Base.metadata.create_all(bind=engine)
testing_session_local = sessionmaker(bind=engine, autoflush=False, autocommit=False)
with testing_session_local() as session:
yield session
Base.metadata.drop_all(bind=engine)
engine.dispose()
@pytest.fixture
def client(db_session: Session) -> Generator[TestClient, None, None]:
def override_get_db() -> Generator[Session, None, None]:
yield db_session
def override_current_user() -> User:
return User(
id=1,
email="owner@example.com",
display_name="Test Owner",
hashed_password="not-used",
role="owner",
is_active=True,
)
app.dependency_overrides[get_db] = override_get_db
app.dependency_overrides[get_current_user] = override_current_user
with TestClient(app) as test_client:
yield test_client
app.dependency_overrides.clear()