diff --git a/.chronus/changes/add-xml-datetime-put-test-2026-3-16-3-9-2.md b/.chronus/changes/add-xml-datetime-put-test-2026-3-16-3-9-2.md new file mode 100644 index 00000000000..9da462bf509 --- /dev/null +++ b/.chronus/changes/add-xml-datetime-put-test-2026-3-16-3-9-2.md @@ -0,0 +1,7 @@ +--- +changeKind: internal +packages: + - "@typespec/http-client-python" +--- + +Add PUT test coverage for `ModelWithDatetime` XML payload scenario and bump `@typespec/http-specs`/`@typespec/spec-api` dependencies to include the datetime validation fix from PR #9995. diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py index 7d88ecbbb5c..0cfccaee38a 100644 --- a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +++ b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py @@ -138,6 +138,7 @@ async def test_model_with_datetime(client: XmlClient): result = await client.model_with_datetime_value.get() assert result.rfc3339 == model.rfc3339 assert result.rfc7231 == model.rfc7231 + await client.model_with_datetime_value.put(model) @pytest.mark.asyncio diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py index a1918285168..22f1c6f7c79 100644 --- a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py +++ b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py @@ -124,6 +124,7 @@ def test_model_with_datetime(client: XmlClient): result = client.model_with_datetime_value.get() assert result.rfc3339 == model.rfc3339 assert result.rfc7231 == model.rfc7231 + client.model_with_datetime_value.put(model) def test_xml_error_value(client: XmlClient, core_library): diff --git a/packages/http-client-python/package-lock.json b/packages/http-client-python/package-lock.json index 3fa3f6f20e8..c2f0190749c 100644 --- a/packages/http-client-python/package-lock.json +++ b/packages/http-client-python/package-lock.json @@ -29,10 +29,10 @@ "@typespec/compiler": "^1.10.0", "@typespec/events": "~0.80.0", "@typespec/http": "^1.10.0", - "@typespec/http-specs": "0.1.0-alpha.34", + "@typespec/http-specs": "0.1.0-alpha.35-dev.1", "@typespec/openapi": "^1.10.0", "@typespec/rest": "~0.80.0", - "@typespec/spec-api": "0.1.0-alpha.13", + "@typespec/spec-api": "0.1.0-alpha.14-dev.1", "@typespec/spector": "0.1.0-alpha.24", "@typespec/sse": "~0.80.0", "@typespec/streams": "~0.80.0", @@ -2492,25 +2492,25 @@ } }, "node_modules/@typespec/http-specs": { - "version": "0.1.0-alpha.34", - "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.34.tgz", - "integrity": "sha512-xyOOFVUjBgZLYeDaoaZ6Mj6DoLjvDhhUvSRZIpWroAUHL+P30XR2wZ6dKLtOgF9uPn7S2MvpSvAAs4Z+mYh9YQ==", + "version": "0.1.0-alpha.35-dev.1", + "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.35-dev.1.tgz", + "integrity": "sha512-sL3Q9Nmgim1YdHiKTaO1bdaUdPIV+1o1HIT8VbTfgEPresdgxJSp2Mll5uehIoiDzGZ3M11Ka/Lrdijr5VRYiA==", "dev": true, "license": "MIT", "dependencies": { - "@typespec/spec-api": "^0.1.0-alpha.13", - "@typespec/spector": "^0.1.0-alpha.24", + "@typespec/spec-api": "^0.1.0-alpha.13 || >= 0.1.0-alpha.14-dev.1", + "@typespec/spector": "^0.1.0-alpha.24 || >= 0.1.0-dev.0", "deep-equal": "^2.2.0" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.10.0", - "@typespec/http": "^1.10.0", - "@typespec/rest": "^0.80.0", - "@typespec/versioning": "^0.80.0", - "@typespec/xml": "^0.80.0" + "@typespec/compiler": "^1.10.0 || >= 1.11.0-dev.0", + "@typespec/http": "^1.10.0 || >= 1.11.0-dev.0", + "@typespec/rest": "^0.80.0 || >= 0.81.0-dev.0", + "@typespec/versioning": "^0.80.0 || >= 0.81.0-dev.0", + "@typespec/xml": "^0.80.0 || >= 0.81.0-dev.0" } }, "node_modules/@typespec/openapi": { @@ -2542,9 +2542,9 @@ } }, "node_modules/@typespec/spec-api": { - "version": "0.1.0-alpha.13", - "resolved": "https://registry.npmjs.org/@typespec/spec-api/-/spec-api-0.1.0-alpha.13.tgz", - "integrity": "sha512-ed0qqGM92vKuangmENUYMeDQZpSlsEMYdeH7+wMl+bIgXzfZ7yv07fNwcmROzSEJd0CzdCTgz+Hp+ifmR4USNQ==", + "version": "0.1.0-alpha.14-dev.1", + "resolved": "https://registry.npmjs.org/@typespec/spec-api/-/spec-api-0.1.0-alpha.14-dev.1.tgz", + "integrity": "sha512-rRgTovGml78TbfHdpphzQDiZOyhgfCZE7U3GXF4PjFl3MXG5WWVGhL6s8gSGvfuwaOVO+lbMp5YKuNtJhy3zHw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/packages/http-client-python/package.json b/packages/http-client-python/package.json index 68081dda5c8..c5305783f37 100644 --- a/packages/http-client-python/package.json +++ b/packages/http-client-python/package.json @@ -90,11 +90,11 @@ "@typespec/versioning": "~0.80.0", "@typespec/events": "~0.80.0", "@typespec/spector": "0.1.0-alpha.24", - "@typespec/spec-api": "0.1.0-alpha.13", + "@typespec/spec-api": "0.1.0-alpha.14-dev.1", "@typespec/sse": "~0.80.0", "@typespec/streams": "~0.80.0", "@typespec/xml": "~0.80.0", - "@typespec/http-specs": "0.1.0-alpha.34", + "@typespec/http-specs": "0.1.0-alpha.35-dev.1", "@types/js-yaml": "~4.0.5", "@types/node": "~25.0.2", "@types/semver": "7.5.8",