"""顾问 Agent sprint 测试共用:merger 鉴权与 token 助手。""" from __future__ import annotations from fastapi.testclient import TestClient STAFF_ADVISOR = "STAFF-10086" STAFF_COMPLIANCE = "STAFF-40001" def login_staff_token(client: TestClient, *, actor_id: str = STAFF_ADVISOR) -> str: response = client.post( "/api/auth/login", json={"actor_id": actor_id, "token_type": "staff"}, ) assert response.status_code == 200, response.text return response.json()["data"]["access_token"] def login_token(username: str, password: str) -> str: """兼容旧顾问测试签名:username 映射到 merger mock 账号。""" _ = password mapping = { "advisor_test": STAFF_ADVISOR, "compliance_test": STAFF_COMPLIANCE, "admin_test": STAFF_COMPLIANCE, } actor_id = mapping.get(username, STAFF_ADVISOR) from app.main import app return login_staff_token(TestClient(app), actor_id=actor_id)