From abc6cfa5e9e2cf02e03b2a7e6b3dab3d43631590 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 18 Sep 2026 01:58:27 +0000 Subject: [PATCH 1/2] Initial plan From 3dfd016563c65ccc651ce78f97f663c4b0e1597f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 18 Sep 2026 02:06:15 +0000 Subject: [PATCH 2/2] test(python): cover API version override scenario Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- ...pi-version-override-2026-09-18-02-03-00.md | 7 +++++ packages/http-client-python/package-lock.json | 28 +++++++++---------- packages/http-client-python/package.json | 6 ++-- ...t_azure_core_api_version_override_async.py | 19 +++++++++++++ .../test_azure_core_api_version_override.py | 17 +++++++++++ 5 files changed, 60 insertions(+), 17 deletions(-) create mode 100644 .chronus/changes/python-api-version-override-2026-09-18-02-03-00.md create mode 100644 packages/http-client-python/tests/mock_api/azure/asynctests/test_azure_core_api_version_override_async.py create mode 100644 packages/http-client-python/tests/mock_api/azure/test_azure_core_api_version_override.py diff --git a/.chronus/changes/python-api-version-override-2026-09-18-02-03-00.md b/.chronus/changes/python-api-version-override-2026-09-18-02-03-00.md new file mode 100644 index 00000000000..cb55a7412e6 --- /dev/null +++ b/.chronus/changes/python-api-version-override-2026-09-18-02-03-00.md @@ -0,0 +1,7 @@ +--- +changeKind: internal +packages: + - "@typespec/http-client-python" +--- + +Add mock API coverage for Azure Core child-client API-version overrides. diff --git a/packages/http-client-python/package-lock.json b/packages/http-client-python/package-lock.json index 68ccfe2a0af..75d8b4d2902 100644 --- a/packages/http-client-python/package-lock.json +++ b/packages/http-client-python/package-lock.json @@ -17,12 +17,12 @@ "tsx": "^4.23.13" }, "devDependencies": { - "@azure-tools/azure-http-specs": "0.1.0-alpha.45", + "@azure-tools/azure-http-specs": "0.1.0-alpha.46-dev.2", "@azure-tools/typespec-autorest": "~0.72.0", - "@azure-tools/typespec-azure-core": "~0.72.0", + "@azure-tools/typespec-azure-core": "0.73.0-dev.1", "@azure-tools/typespec-azure-resource-manager": "~0.72.0", "@azure-tools/typespec-azure-rulesets": "~0.72.0", - "@azure-tools/typespec-client-generator-core": "~0.72.0", + "@azure-tools/typespec-client-generator-core": "0.73.0-dev.4", "@types/js-yaml": "~4.0.5", "@types/node": "~25.0.2", "@types/semver": "7.5.8", @@ -67,9 +67,9 @@ } }, "node_modules/@azure-tools/azure-http-specs": { - "version": "0.1.0-alpha.45", - "resolved": "https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-js/npm/registry/@azure-tools/azure-http-specs/-/azure-http-specs-0.1.0-alpha.45.tgz", - "integrity": "sha1-nxpqhlpgMEwA2O+fVIWLtweSELU=", + "version": "0.1.0-alpha.46-dev.2", + "resolved": "https://registry.npmjs.org/@azure-tools/azure-http-specs/-/azure-http-specs-0.1.0-alpha.46-dev.2.tgz", + "integrity": "sha512-NjoNs4Nnc4I2vJR5cmJBLEmILWbbbNf/hd1B8N8ltH0lBAXWXx/XDo+TTCZej1KB4tcQp5SqSKOV8/ITOhTy6g==", "dev": true, "license": "MIT", "dependencies": { @@ -80,7 +80,7 @@ "node": ">=22.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "^0.72.0", + "@azure-tools/typespec-azure-core": "^0.72.0 || >= 0.73.0-dev.1", "@typespec/compiler": "^1.16.0", "@typespec/http": "^1.16.0", "@typespec/rest": "^0.86.0", @@ -118,9 +118,9 @@ } }, "node_modules/@azure-tools/typespec-azure-core": { - "version": "0.72.0", - "resolved": "https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-js/npm/registry/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.72.0.tgz", - "integrity": "sha1-m60NyHLixcYhSbllLaNf9HtpyZo=", + "version": "0.73.0-dev.1", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.73.0-dev.1.tgz", + "integrity": "sha512-K1jj//LZmG4qo/7NoD3yoaof/uNqn/R930XWVxA3iJ5EegURsGcOW6BLQlkMhymTiKDDA8sxh+x7J1Z86DWTAw==", "dev": true, "license": "MIT", "engines": { @@ -171,9 +171,9 @@ } }, "node_modules/@azure-tools/typespec-client-generator-core": { - "version": "0.72.0", - "resolved": "https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-js/npm/registry/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.72.0.tgz", - "integrity": "sha1-IR38UekOb2cJZ54THxVkV49/pCM=", + "version": "0.73.0-dev.4", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.73.0-dev.4.tgz", + "integrity": "sha512-D3wXlTkrC0yZBkMB7cpKummOfuwp2Od3kZG/jzZ/bc/3E9pPZbogop8D5RX5wkpkyCE2zLT8DsLxAJdzRKFWWg==", "dev": true, "license": "MIT", "dependencies": { @@ -185,7 +185,7 @@ "node": ">=22.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "^0.72.0", + "@azure-tools/typespec-azure-core": "^0.72.0 || >= 0.73.0-dev.1", "@typespec/compiler": "^1.16.0", "@typespec/events": "^0.86.0", "@typespec/http": "^1.16.0", diff --git a/packages/http-client-python/package.json b/packages/http-client-python/package.json index dcce8fb07b9..9a19aef34bc 100644 --- a/packages/http-client-python/package.json +++ b/packages/http-client-python/package.json @@ -105,11 +105,11 @@ }, "devDependencies": { "@azure-tools/typespec-autorest": "~0.72.0", - "@azure-tools/typespec-azure-core": "~0.72.0", + "@azure-tools/typespec-azure-core": "0.73.0-dev.1", "@azure-tools/typespec-azure-resource-manager": "~0.72.0", "@azure-tools/typespec-azure-rulesets": "~0.72.0", - "@azure-tools/typespec-client-generator-core": "~0.72.0", - "@azure-tools/azure-http-specs": "0.1.0-alpha.45", + "@azure-tools/typespec-client-generator-core": "0.73.0-dev.4", + "@azure-tools/azure-http-specs": "0.1.0-alpha.46-dev.2", "@typespec/compiler": "^1.16.0", "@typespec/http": "^1.16.0", "@typespec/openapi": "^1.16.0", diff --git a/packages/http-client-python/tests/mock_api/azure/asynctests/test_azure_core_api_version_override_async.py b/packages/http-client-python/tests/mock_api/azure/asynctests/test_azure_core_api_version_override_async.py new file mode 100644 index 00000000000..317f55bb35c --- /dev/null +++ b/packages/http-client-python/tests/mock_api/azure/asynctests/test_azure_core_api_version_override_async.py @@ -0,0 +1,19 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import pytest +import pytest_asyncio +from specs.azure.core.apiversionoverride.aio import ApiVersionOverrideClient + + +@pytest_asyncio.fixture +async def client(): + async with ApiVersionOverrideClient() as client: + yield client + + +@pytest.mark.asyncio +async def test_legacy_client_api_version_override(client: ApiVersionOverrideClient): + await client.legacy_client.get() diff --git a/packages/http-client-python/tests/mock_api/azure/test_azure_core_api_version_override.py b/packages/http-client-python/tests/mock_api/azure/test_azure_core_api_version_override.py new file mode 100644 index 00000000000..96bdaa840b3 --- /dev/null +++ b/packages/http-client-python/tests/mock_api/azure/test_azure_core_api_version_override.py @@ -0,0 +1,17 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import pytest +from specs.azure.core.apiversionoverride import ApiVersionOverrideClient + + +@pytest.fixture +def client(): + with ApiVersionOverrideClient() as client: + yield client + + +def test_legacy_client_api_version_override(client: ApiVersionOverrideClient): + client.legacy_client.get()