"""analysis 엔드포인트가 v2 성과 분석을 호출하는지 검증. v1 호출 시 예외(공통 종단 차단).""" import pytest from app.api.endpoints import analysis as an async def _v1_blocked(*a, **k): raise AssertionError("v1 analyze_performance 호출됨") @pytest.mark.asyncio async def test_performance_v2_and_insights_use_v2(monkeypatch): monkeypatch.setattr(an, "analyze_performance", _v1_blocked) calls = [] async def v2(db, days=30): calls.append(days) return {"summary": {"win_rate": 55.0, "profit_factor": 2.0, "gross_profit": 1, "gross_loss": 1}} async def last(db): return None monkeypatch.setattr(an, "analyze_performance_v2", v2) monkeypatch.setattr(an, "get_last_optimization_date", last) r = await an.get_performance_v2(days=7, db=None) assert r["summary"]["win_rate"] == 55.0 r = await an.get_insights(days=14, db=None) assert "error" not in r and r["performance_summary"]["win_rate"] == 55.0 assert calls == [7, 14]