feat: add database engine and session management
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
26
tests/test_database.py
Normal file
26
tests/test_database.py
Normal file
@@ -0,0 +1,26 @@
|
||||
"""Tests for database engine and session management."""
|
||||
|
||||
from sqlmodel import Session
|
||||
|
||||
from app.database import get_engine, get_db_session
|
||||
|
||||
|
||||
class TestDatabase:
|
||||
"""Tests for database connection management."""
|
||||
|
||||
def test_get_engine_returns_engine(self) -> None:
|
||||
"""get_engine should return a SQLAlchemy engine instance."""
|
||||
engine = get_engine("sqlite:///data/test.db")
|
||||
assert engine is not None
|
||||
assert "sqlite" in str(engine.url)
|
||||
|
||||
def test_get_db_session_yields_session(self) -> None:
|
||||
"""get_db_session should yield a usable SQLModel Session."""
|
||||
engine = get_engine("sqlite:///:memory:")
|
||||
session_gen = get_db_session(engine)
|
||||
session = next(session_gen)
|
||||
assert isinstance(session, Session)
|
||||
try:
|
||||
next(session_gen)
|
||||
except StopIteration:
|
||||
pass
|
||||
Reference in New Issue
Block a user