43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
"""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}
|