diff --git a/tests/test_litellm/responses/test_responses_websocket_all_providers.py b/tests/test_litellm/responses/test_responses_websocket_all_providers.py index f0989f9080c..f56c5ef1548 100644 --- a/tests/test_litellm/responses/test_responses_websocket_all_providers.py +++ b/tests/test_litellm/responses/test_responses_websocket_all_providers.py @@ -2609,3 +2609,37 @@ class TestResponsesWebSocketUsageLogging: ] assert ResponseAPILoggingUtils.build_response_from_websocket_events(events=events) is None + + def test_build_response_from_websocket_events_without_usage(self): + from litellm.responses.utils import ResponseAPILoggingUtils + + events = [ + { + "type": "response.completed", + "response": { + "id": "r1", + "created_at": 1, + "output": [], + }, + }, + ] + + response = ResponseAPILoggingUtils.build_response_from_websocket_events(events=events) + assert response is not None + assert response.id == "r1" + assert response.usage is None + + def test_build_response_from_websocket_events_invalid_response_returns_none(self): + from litellm.responses.utils import ResponseAPILoggingUtils + + events = [ + { + "type": "response.completed", + "response": { + "id": 12345, # id must be str, will cause validation error + "output": "invalid_not_list", + }, + }, + ] + + assert ResponseAPILoggingUtils.build_response_from_websocket_events(events=events) is None