Spaces:
Running
Running
| from unittest.mock import MagicMock | |
| import pytest | |
| from src.utils.models import AssessmentDetails, Citation, Evidence, JudgeAssessment, SearchResult | |
| def mock_search_handler(): | |
| """Return a mock search handler that returns fake evidence.""" | |
| mock = MagicMock() | |
| async def mock_execute(query, max_results=10): | |
| return SearchResult( | |
| query=query, | |
| evidence=[ | |
| Evidence( | |
| content=f"Evidence content for {query}", | |
| citation=Citation( | |
| source="pubmed", | |
| title=f"Study on {query}", | |
| url="https://pubmed.example.com/123", | |
| date="2025-01-01", | |
| authors=["Doe J"], | |
| ), | |
| ) | |
| ], | |
| sources_searched=["pubmed"], | |
| total_found=1, | |
| errors=[], | |
| ) | |
| mock.execute = mock_execute | |
| return mock | |
| def mock_judge_handler(): | |
| """Return a mock judge that always says 'synthesize'.""" | |
| mock = MagicMock() | |
| async def mock_assess(question, evidence, iteration=1, max_iterations=10): | |
| return JudgeAssessment( | |
| sufficient=True, | |
| confidence=0.9, | |
| recommendation="synthesize", | |
| details=AssessmentDetails( | |
| mechanism_score=8, | |
| mechanism_reasoning="Strong mechanism found in mock data", | |
| clinical_evidence_score=7, | |
| clinical_reasoning="Good clinical evidence in mock data", | |
| drug_candidates=["MockDrug A"], | |
| key_findings=["Finding 1", "Finding 2"], | |
| ), | |
| reasoning="Evidence is sufficient for synthesis.", | |
| next_search_queries=[], | |
| ) | |
| mock.assess = mock_assess | |
| return mock | |