mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-14 09:03:16 +00:00
merge: reconcile latest spend-log trace fixes
This commit is contained in:
commit
07bbc4fefe
2 changed files with 23 additions and 1 deletions
|
|
@ -705,6 +705,19 @@ def test_sql_routes_need_the_lens_service_when_traces_come_from_spend_logs(
|
|||
assert "Lens service" in response.json()["detail"]
|
||||
|
||||
|
||||
@pytest.mark.parametrize(("allowed_routes", "status_code"), ((["llm_api_routes"], 403), (None, 200)))
|
||||
def test_spend_log_traces_need_the_same_route_access_as_the_logs_page(
|
||||
client: TestClient, allowed_routes: list[str] | None, status_code: int
|
||||
) -> None:
|
||||
spend_logs: Final = TraceReceiver(storage=SpendLogTraceStorage(lambda: None))
|
||||
client.app.dependency_overrides[tracing_endpoints.provide_receiver] = lambda: spend_logs
|
||||
client.app.dependency_overrides[user_api_key_auth] = lambda: UserAPIKeyAuth(
|
||||
user_id="user", token="hashed-key", allowed_routes=allowed_routes
|
||||
)
|
||||
response: Final = client.get("/v1/traces")
|
||||
assert response.status_code == status_code, response.text
|
||||
|
||||
|
||||
def test_disabled_receiver_precedes_read_scope_rejection(client: TestClient) -> None:
|
||||
client.app.dependency_overrides[user_api_key_auth] = lambda: UserAPIKeyAuth(
|
||||
user_role=LitellmUserRoles.INTERNAL_USER
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ def row(
|
|||
error: str | None = None,
|
||||
spend: float = 0.01,
|
||||
agent_id: str | None = None,
|
||||
request: Mapping[str, object] | None = None,
|
||||
) -> SpendLogRow:
|
||||
metadata: Final = {
|
||||
"user_agent": user_agent,
|
||||
|
|
@ -48,7 +49,7 @@ def row(
|
|||
request_tags=json.dumps(list(tags)),
|
||||
metadata=json.dumps(metadata),
|
||||
messages="{}",
|
||||
proxy_server_request=json.dumps({"messages": messages, "tags": list(tags)}),
|
||||
proxy_server_request=json.dumps(request or {"messages": messages, "tags": list(tags)}),
|
||||
response=json.dumps(response or {}),
|
||||
)
|
||||
|
||||
|
|
@ -402,3 +403,11 @@ def test_request_agent_name_groups_calls_without_tags_or_registered_identity() -
|
|||
assert trace["summary"]["agent_names"] == ("Support agent",)
|
||||
assert trace["summary"]["llm_calls"] == 2
|
||||
assert {span["agent"] for span in trace["spans"]} == {"Support agent"}
|
||||
|
||||
|
||||
def test_responses_api_input_is_read_from_the_stored_request() -> None:
|
||||
trace: Final = build_trace(
|
||||
(row("r1", "00.000", "01.000", tags=("agent:triage",), request={"model": "gpt-5", "input": "refund me"}),)
|
||||
)
|
||||
|
||||
assert trace["summary"]["input_preview"] == "refund me"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue