mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-21 00:21:49 +00:00
refactor(responses): type the websocket test parameters and suppress the error-frame send explicitly
This commit is contained in:
parent
fcc7efa4db
commit
9662b2a35c
5 changed files with 15 additions and 10 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import asyncio
|
||||
import contextlib
|
||||
import json
|
||||
import time
|
||||
from collections.abc import AsyncIterator, Awaitable, Mapping
|
||||
|
|
@ -1585,10 +1586,8 @@ async def responses_websocket_endpoint(
|
|||
)
|
||||
except Exception as e:
|
||||
verbose_proxy_logger.exception("Responses WebSocket error")
|
||||
try:
|
||||
with contextlib.suppress(Exception):
|
||||
await websocket.send_text(_responses_ws_failure_frame(e))
|
||||
except Exception:
|
||||
pass
|
||||
await proxy_logging_obj.post_call_failure_hook(
|
||||
user_api_key_dict=user_api_key_dict,
|
||||
original_exception=e,
|
||||
|
|
|
|||
|
|
@ -1069,7 +1069,7 @@ async def test_arealtime_marks_litellm_params_async(monkeypatch):
|
|||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_aresponses_websocket_hands_back_the_provider_failure_without_a_success_log(monkeypatch):
|
||||
async def test_aresponses_websocket_hands_back_the_provider_failure_without_a_success_log(monkeypatch: pytest.MonkeyPatch):
|
||||
from litellm.litellm_core_utils.logging_worker import GLOBAL_LOGGING_WORKER
|
||||
from litellm.responses.main import base_llm_http_handler
|
||||
|
||||
|
|
|
|||
|
|
@ -513,7 +513,9 @@ class TestResponsesWSFirstFrameModelAuth:
|
|||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize("nested", [False, True])
|
||||
@pytest.mark.parametrize("query_model", [None, "gpt-4o-mini"])
|
||||
async def test_endpoint_routes_on_first_frame_input_and_previous_response_id(self, nested, query_model):
|
||||
async def test_endpoint_routes_on_first_frame_input_and_previous_response_id(
|
||||
self, nested: bool, query_model: str | None
|
||||
):
|
||||
from litellm.proxy.response_api_endpoints.endpoints import (
|
||||
responses_websocket_endpoint,
|
||||
)
|
||||
|
|
@ -572,7 +574,7 @@ class TestResponsesWSFirstFrameModelAuth:
|
|||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize("provider_rejected", [True, False])
|
||||
async def test_endpoint_books_a_provider_rejected_connection_as_a_failed_request(self, provider_rejected):
|
||||
async def test_endpoint_books_a_provider_rejected_connection_as_a_failed_request(self, provider_rejected: bool):
|
||||
from litellm.proxy.response_api_endpoints.endpoints import (
|
||||
responses_websocket_endpoint,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -457,7 +457,7 @@ _ORIGINAL_WS_INPUT = [
|
|||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize("nested", [False, True])
|
||||
async def test_aresponses_websocket_forwards_the_routed_input_in_the_first_frame(nested): # test-quality-ok: the first frame handed to the relay is the only place the routed input is observable before the provider socket
|
||||
async def test_aresponses_websocket_forwards_the_routed_input_in_the_first_frame(nested: bool): # test-quality-ok: the first frame handed to the relay is the only place the routed input is observable before the provider socket
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from litellm.responses.main import _aresponses_websocket
|
||||
|
|
|
|||
|
|
@ -1503,7 +1503,9 @@ class TestNativeWebSocketDeploymentDefaults:
|
|||
assert dict(request_defaults.overrides) == {"provider_default": "configured"}
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_aresponses_websocket_keeps_first_frame_routing_hints_out_of_the_defaults(self, monkeypatch):
|
||||
async def test_aresponses_websocket_keeps_first_frame_routing_hints_out_of_the_defaults(
|
||||
self, monkeypatch: pytest.MonkeyPatch
|
||||
):
|
||||
import importlib
|
||||
from unittest.mock import AsyncMock
|
||||
|
||||
|
|
@ -2976,7 +2978,7 @@ class TestNativeWebSocketEncryptedContentAffinity:
|
|||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize("nested", [False, True])
|
||||
async def test_client_to_backend_restores_wrapped_ids(self, nested):
|
||||
async def test_client_to_backend_restores_wrapped_ids(self, nested: bool):
|
||||
from unittest.mock import AsyncMock
|
||||
|
||||
from litellm.responses.utils import ResponsesAPIRequestUtils
|
||||
|
|
@ -3138,7 +3140,9 @@ class TestNativeWebSocketEncryptedContentAffinity:
|
|||
),
|
||||
],
|
||||
)
|
||||
async def test_backend_to_client_books_failure_frames_as_failures(self, failure_frame, expected_status):
|
||||
async def test_backend_to_client_books_failure_frames_as_failures(
|
||||
self, failure_frame: dict[str, object], expected_status: int
|
||||
):
|
||||
import asyncio
|
||||
from unittest.mock import AsyncMock
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue