This commit is contained in:
KarthikS 2026-11-04 06:01:27 +00:00 • committed by GitHub
commit 0e2a1a41f0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -5370,6 +5370,35 @@ async def test_emit_standard_logging_payload_called_for_non_streaming():
assert mock_emit.call_count >= 1
@pytest.mark.asyncio
@pytest.mark.parametrize("response_cost", [0.0, 0.125])
async def test_sync_success_handler_preserves_streaming_cost_computed_by_async_handler(response_cost: float) -> None:
now: Final = datetime.datetime(2026, 1, 1)
logging_obj: Final = LitellmLogging(
model="streaming-cost-regression",
messages=[{"role": "user", "content": "hi"}],
stream=True,
call_type="acompletion",
start_time=now,
litellm_call_id="streaming-cost-regression",
function_id="streaming-cost-regression",
)
result: Final = ModelResponse(
model="streaming-cost-regression",
choices=[{"message": {"role": "assistant", "content": "hello"}, "finish_reason": "stop"}],
usage={"prompt_tokens": 10, "completion_tokens": 5, "total_tokens": 15},
)
result._hidden_params["response_cost"] = response_cost
await logging_obj.async_success_handler(result=result, start_time=now, end_time=now)
assert logging_obj.model_call_details["response_cost"] == response_cost
assert "async_complete_streaming_response" in logging_obj.model_call_details
for _ in range(2):
logging_obj.success_handler(result=result, start_time=now, end_time=now)
assert logging_obj.model_call_details["response_cost"] == response_cost
@pytest.mark.asyncio
async def test_async_success_handler_preserves_response_cost_for_pass_through_endpoints():
"""Regression test: PR #19887 added a pass-through branch in async_success_handler