diff --git a/.chronus/changes/add-relative-nextlink-page-test-2026-2-11-12-8-10.md b/.chronus/changes/add-relative-nextlink-page-test-2026-2-11-12-8-10.md new file mode 100644 index 00000000000..139e16e94dd --- /dev/null +++ b/.chronus/changes/add-relative-nextlink-page-test-2026-2-11-12-8-10.md @@ -0,0 +1,7 @@ +--- +changeKind: internal +packages: + - "@typespec/http-client-python" +--- + +Add mock API test for Azure Core Page `withRelativeNextLink` scenario. diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py index 587d5a9999d..557c044e9e7 100644 --- a/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py @@ -66,3 +66,15 @@ async def test_list_with_parameterized_next_link(client: aio.PageClient): assert result[0].name == "User1" assert result[1].id == 2 assert result[1].name == "User2" + + +@pytest.mark.asyncio +async def test_list_with_relative_next_link(client: aio.PageClient): + result = [item async for item in client.with_relative_next_link()] + assert len(result) == 2 + assert result[0].id == 1 + assert result[0].name == "User1" + assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59" + assert result[1].id == 2 + assert result[1].name == "User2" + assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59" diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_core_page.py b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_core_page.py index d64db94486c..b5837623bea 100644 --- a/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_core_page.py +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_core_page.py @@ -58,3 +58,14 @@ def test_list_with_parameterized_next_link(client: PageClient): assert result[0].name == "User1" assert result[1].id == 2 assert result[1].name == "User2" + + +def test_list_with_relative_next_link(client: PageClient): + result = list(client.with_relative_next_link()) + assert len(result) == 2 + assert result[0].id == 1 + assert result[0].name == "User1" + assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59" + assert result[1].id == 2 + assert result[1].name == "User2" + assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59" diff --git a/packages/http-client-python/package-lock.json b/packages/http-client-python/package-lock.json index 5467b01e76d..ee707f2f384 100644 --- a/packages/http-client-python/package-lock.json +++ b/packages/http-client-python/package-lock.json @@ -17,12 +17,12 @@ "tsx": "~4.19.1" }, "devDependencies": { - "@azure-tools/azure-http-specs": "0.1.0-alpha.37", + "@azure-tools/azure-http-specs": "0.1.0-alpha.38-dev.2", "@azure-tools/typespec-autorest": "~0.65.0", "@azure-tools/typespec-azure-core": "~0.65.0", "@azure-tools/typespec-azure-resource-manager": "~0.65.0", "@azure-tools/typespec-azure-rulesets": "~0.65.0", - "@azure-tools/typespec-client-generator-core": "~0.65.0", + "@azure-tools/typespec-client-generator-core": "~0.65.1", "@types/js-yaml": "~4.0.5", "@types/node": "~24.1.0", "@types/semver": "7.5.8", @@ -53,7 +53,7 @@ "@azure-tools/typespec-azure-core": ">=0.65.0 <1.0.0", "@azure-tools/typespec-azure-resource-manager": ">=0.65.0 <1.0.0", "@azure-tools/typespec-azure-rulesets": ">=0.65.0 <1.0.0", - "@azure-tools/typespec-client-generator-core": ">=0.65.0 <1.0.0", + "@azure-tools/typespec-client-generator-core": ">=0.65.1 <1.0.0", "@typespec/compiler": "^1.9.0", "@typespec/events": ">=0.79.0 <1.0.0", "@typespec/http": "^1.9.0", @@ -66,25 +66,25 @@ } }, "node_modules/@azure-tools/azure-http-specs": { - "version": "0.1.0-alpha.37", - "resolved": "https://registry.npmjs.org/@azure-tools/azure-http-specs/-/azure-http-specs-0.1.0-alpha.37.tgz", - "integrity": "sha512-oMo0f14FGn2pg4epJQM7W86W6PNTIgtFUCmBGNUXUcffaZIMnzreR9M488ynyuAP4lbsOiu0uFcE2skDXip2Eg==", + "version": "0.1.0-alpha.38-dev.2", + "resolved": "https://registry.npmjs.org/@azure-tools/azure-http-specs/-/azure-http-specs-0.1.0-alpha.38-dev.2.tgz", + "integrity": "sha512-rrxSHv70c5d9ZZQRN1xZ849/vzAFM7uHEkpjSNtKBBkx/6/2J2arSiltk4OP6xE/lqHPVPeANzbYQsL4b4wNZw==", "dev": true, "license": "MIT", "dependencies": { - "@typespec/spec-api": "^0.1.0-alpha.12", - "@typespec/spector": "^0.1.0-alpha.23" + "@typespec/spec-api": "^0.1.0-alpha.12 || >=0.1.0-alpha.13-dev <0.1.0-alpha.13", + "@typespec/spector": "^0.1.0-alpha.23 || >=0.1.0-alpha.24-dev <0.1.0-alpha.24" }, "engines": { "node": ">=20.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "^0.65.0", + "@azure-tools/typespec-azure-core": "^0.65.0 || >=0.66.0-dev <0.66.0", "@typespec/compiler": "^1.9.0", "@typespec/http": "^1.9.0", - "@typespec/rest": "^0.79.0", - "@typespec/versioning": "^0.79.0", - "@typespec/xml": "^0.79.0" + "@typespec/rest": "^0.79.0 || >=0.80.0-dev <0.80.0", + "@typespec/versioning": "^0.79.0 || >=0.80.0-dev <0.80.0", + "@typespec/xml": "^0.79.0 || >=0.80.0-dev <0.80.0" } }, "node_modules/@azure-tools/typespec-autorest": { @@ -167,9 +167,9 @@ } }, "node_modules/@azure-tools/typespec-client-generator-core": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.65.0.tgz", - "integrity": "sha512-+g6+xB967chLQlukt2nKSCNUagg99MySrdFkY6Izu0z32Wq6ba/FI9IbqBDRTBGFveX+fxS39Xn/xCbtU3nTRg==", + "version": "0.65.1", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.65.1.tgz", + "integrity": "sha512-LvZYs0O4AprZRh3SLB8bU5DYmUlEb7zeWcvPKPLjTQB/cmQXMtmMNbLDkfgCwI/iHfRfEgeQGLqjGaNAe/a9iQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/packages/http-client-python/package.json b/packages/http-client-python/package.json index b71e7c4d83d..b01b8081d64 100644 --- a/packages/http-client-python/package.json +++ b/packages/http-client-python/package.json @@ -58,7 +58,7 @@ "@azure-tools/typespec-azure-core": ">=0.65.0 <1.0.0", "@azure-tools/typespec-azure-resource-manager": ">=0.65.0 <1.0.0", "@azure-tools/typespec-azure-rulesets": ">=0.65.0 <1.0.0", - "@azure-tools/typespec-client-generator-core": ">=0.65.0 <1.0.0", + "@azure-tools/typespec-client-generator-core": ">=0.65.1 <1.0.0", "@typespec/compiler": "^1.9.0", "@typespec/http": "^1.9.0", "@typespec/openapi": "^1.9.0", @@ -81,8 +81,8 @@ "@azure-tools/typespec-azure-core": "~0.65.0", "@azure-tools/typespec-azure-resource-manager": "~0.65.0", "@azure-tools/typespec-azure-rulesets": "~0.65.0", - "@azure-tools/typespec-client-generator-core": "~0.65.0", - "@azure-tools/azure-http-specs": "0.1.0-alpha.37", + "@azure-tools/typespec-client-generator-core": "~0.65.1", + "@azure-tools/azure-http-specs": "0.1.0-alpha.38-dev.2", "@typespec/compiler": "^1.9.0", "@typespec/http": "^1.9.0", "@typespec/openapi": "^1.9.0",