From 69477467e02d015dd02dc5295605f97eb78637c0 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Thu, 29 Oct 2026 00:02:48 -0700 Subject: [PATCH] test(responses): expect the replay record in bridged chat translation cases --- .../chat_completions/bases/openai_responses.py | 13 ++++++++++++- tests/integration/translation/response_scenarios.py | 9 +++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tests/integration/translation/chat_completions/bases/openai_responses.py b/tests/integration/translation/chat_completions/bases/openai_responses.py index d086a56a221..f0fb0af6131 100644 --- a/tests/integration/translation/chat_completions/bases/openai_responses.py +++ b/tests/integration/translation/chat_completions/bases/openai_responses.py @@ -97,7 +97,17 @@ GPT_5_6_SOL_TEST_CASE: Final = TranslationTestCase( "created": ANY, "model": "openai/responses/gpt-5.6-sol", "object": "chat.completion", - "choices": [{"finish_reason": "stop", "index": 0, "message": {"content": "Hello!", "role": "assistant"}}], + "choices": [ + { + "finish_reason": "stop", + "index": 0, + "message": { + "content": "Hello!", + "role": "assistant", + "provider_specific_fields": {"phase": "final_answer", "openai_responses_replay": ANY}, + }, + } + ], "usage": { "completion_tokens": 6, "prompt_tokens": 19, @@ -252,6 +262,7 @@ GPT_6_1_SOL_TEST_CASE: Final = TranslationTestCase( "summary": [], } ], + "provider_specific_fields": {"phase": "commentary", "openai_responses_replay": ANY}, }, } ], diff --git a/tests/integration/translation/response_scenarios.py b/tests/integration/translation/response_scenarios.py index b49d2b71441..7977c6c5a45 100644 --- a/tests/integration/translation/response_scenarios.py +++ b/tests/integration/translation/response_scenarios.py @@ -57,7 +57,7 @@ def two_messages_before_tools(case: TranslationTestCase) -> TranslationTestCase: def _messages_then_tools_response(case: TranslationTestCase) -> Mapping[str, JsonValue]: expected: Final = case.expected_litellm_response if case.litellm_endpoint == "/v1/chat/completions": - choice: Final = items(expected["choices"])[0] + message: Final = object_value(items(expected["choices"])[0]["message"]) return { **expected, "choices": [ @@ -67,7 +67,12 @@ def _messages_then_tools_response(case: TranslationTestCase) -> Mapping[str, Jso "message": { "role": "assistant", "content": "".join(COMMENTARY), - "tool_calls": object_value(choice["message"])["tool_calls"], + "tool_calls": message["tool_calls"], + **( + {"provider_specific_fields": message["provider_specific_fields"]} + if "provider_specific_fields" in message + else {} + ), }, } ],