From 7e04224360e6c354c8254a09f6d534053aed15f9 Mon Sep 17 00:00:00 2001 From: Evan Mattson Date: Thu, 26 Feb 2026 20:12:50 +0900 Subject: [PATCH] Fix walrus operator precedence for model_id in AzureOpenAIResponsesClient (#4299) Add parentheses around the walrus assignment so model_id receives the actual string value instead of the boolean result of `kwargs.pop(...) and not deployment_name`. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../core/agent_framework/azure/_responses_client.py | 2 +- .../core/tests/azure/test_azure_responses_client.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/python/packages/core/agent_framework/azure/_responses_client.py b/python/packages/core/agent_framework/azure/_responses_client.py index b5b0ca1b5e..2debbd7b21 100644 --- a/python/packages/core/agent_framework/azure/_responses_client.py +++ b/python/packages/core/agent_framework/azure/_responses_client.py @@ -180,7 +180,7 @@ class AzureOpenAIResponsesClient( # type: ignore[misc] client: AzureOpenAIResponsesClient[MyOptions] = AzureOpenAIResponsesClient() response = await client.get_response("Hello", options={"my_custom_option": "value"}) """ - if model_id := kwargs.pop("model_id", None) and not deployment_name: + if (model_id := kwargs.pop("model_id", None)) and not deployment_name: deployment_name = str(model_id) # Project client path: create OpenAI client from an Azure AI Foundry project diff --git a/python/packages/core/tests/azure/test_azure_responses_client.py b/python/packages/core/tests/azure/test_azure_responses_client.py index 4e9b25ca6a..0b1e076d08 100644 --- a/python/packages/core/tests/azure/test_azure_responses_client.py +++ b/python/packages/core/tests/azure/test_azure_responses_client.py @@ -90,6 +90,14 @@ def test_init_model_id_constructor(azure_openai_unit_test_env: dict[str, str]) - assert isinstance(azure_responses_client, SupportsChatGetResponse) +def test_init_model_id_kwarg(azure_openai_unit_test_env: dict[str, str]) -> None: + """Test that model_id kwarg correctly sets the deployment name (issue #4299).""" + azure_responses_client = AzureOpenAIResponsesClient(model_id="gpt-4o") + + assert azure_responses_client.model_id == "gpt-4o" + assert isinstance(azure_responses_client, SupportsChatGetResponse) + + def test_init_with_default_header(azure_openai_unit_test_env: dict[str, str]) -> None: default_headers = {"X-Unit-Test": "test-guid"}