32 lines
976 B
Python
32 lines
976 B
Python
"""顾问 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)
|