litellm/tests/e2e/llm_translation/realtime
mateo-berri 601d6ff2c8 [e2e] Pin the OpenAI websocket passthrough prefixes
The websocket routes under /openai_passthrough and /openai had no e2e
coverage, so nothing catches the regression from issue #36088, where both
prefixes carried HTTP routes only and refused every upgrade with a 403
before a socket ever existed.

Two tests cover it. The realtime one opens /openai_passthrough/v1/realtime
and asserts OpenAI's own session.created frame comes back, which proves the
route is registered and relayed upstream. The responses one asserts
/openai/v1/responses accepts the upgrade, since a responses.connect socket
waits for the client to speak first and has no opening frame to check.

A refused upgrade is an HTTP response rather than a close frame, so both
assert on the handshake. ws_base_url moves into e2e_config now that a
second suite needs it
2026-08-21 17:26:18 -07:00
..
fixtures test: litellm fix failing tests (#32577) 2026-07-09 13:54:45 -07:00
conftest.py test(e2e): rename Gateway to ProxyClient and expose it as a session-scoped fixture (#33750) 2026-07-18 18:41:18 +00:00
pipecat_service.py test: litellm fix failing tests (#32577) 2026-07-09 13:54:45 -07:00
realtime_client.py [e2e] Pin the OpenAI websocket passthrough prefixes 2026-08-21 17:26:18 -07:00
REALTIME_COVERAGE_MATRIX.md docs(tests/e2e): align docs with the hard-fail-on-dead-proxy contract and scope the no-unit-tests rule (#33755) 2026-07-17 12:56:10 -07:00
test_realtime_bedrock_e2e.py fix(bedrock): emit Nova Sonic realtime session.created on connect and session.updated on session.update (#34133) 2026-07-22 06:15:37 +00:00
test_realtime_e2e.py docs(tests/e2e): align docs with the hard-fail-on-dead-proxy contract and scope the no-unit-tests rule (#33755) 2026-07-17 12:56:10 -07:00
test_realtime_pipecat_audio_e2e.py [e2e] Pin the OpenAI websocket passthrough prefixes 2026-08-21 17:26:18 -07:00
test_realtime_pipecat_e2e.py [e2e] Pin the OpenAI websocket passthrough prefixes 2026-08-21 17:26:18 -07:00