Files

43 lines
1.5 KiB
Python
Raw Permalink Normal View History

"""pytest 公共 fixture。"""
from __future__ import annotations
from unittest.mock import MagicMock
import pytest
from fastapi.testclient import TestClient
from app.main import app
from app.repository.advisor_rel_repository import AdvisorRelRepository
from app.repository.agent_repository import AgentSessionRepository
from app.repository.audit_repository import AuditRepository
@pytest.fixture
def client():
return TestClient(app)
@pytest.fixture(autouse=True)
def mock_db(monkeypatch):
audit = MagicMock()
session = MagicMock()
advisor = MagicMock()
audit.insert = MagicMock()
session.ensure_session = MagicMock(return_value="sess-test-001")
session.next_seq = MagicMock(return_value=1)
session.insert_message = MagicMock()
advisor.is_assigned = MagicMock(return_value=True)
monkeypatch.setattr(AuditRepository, "__init__", lambda self, engine=None: None)
monkeypatch.setattr(AuditRepository, "insert", audit.insert)
monkeypatch.setattr(AgentSessionRepository, "__init__", lambda self, engine=None: None)
monkeypatch.setattr(AgentSessionRepository, "ensure_session", session.ensure_session)
monkeypatch.setattr(AgentSessionRepository, "next_seq", session.next_seq)
monkeypatch.setattr(AgentSessionRepository, "insert_message", session.insert_message)
monkeypatch.setattr(AdvisorRelRepository, "__init__", lambda self, engine=None, core_ro=None: None)
monkeypatch.setattr(AdvisorRelRepository, "is_assigned", advisor.is_assigned)
yield {"audit": audit, "session": session, "advisor": advisor}