Files
odysseus/tests/helpers/db_stubs.py

21 lines
640 B
Python
Raw Normal View History

"""Shared database stub helpers for CLI and unit tests."""
import sys
import types
from unittest.mock import MagicMock
def make_core_db_stub(monkeypatch, models=()):
"""Create a core.database stub and inject it via monkeypatch.
Always sets SessionLocal. Pass model class names via `models` to set
each as a MagicMock attribute on the stub.
Returns the stub module for optional further configuration.
"""
db = types.ModuleType("core.database")
db.SessionLocal = MagicMock()
for name in models:
setattr(db, name, MagicMock())
monkeypatch.setitem(sys.modules, "core.database", db)
return db