From 7956891e99e19346c1f9f3c6d5bb8898731521ae Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Jun 2025 08:10:07 +0000 Subject: [PATCH 1/6] Initial plan From b03e9c1dba83acf5a6f284527e98ab88b9615542 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Jun 2025 08:17:35 +0000 Subject: [PATCH 2/6] Add test cases from TypeSpec PR #7693 Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- .../test_azure_arm_commonproperties_async.py | 31 ++++++++++++++++ .../test_azure_arm_largeheader_async.py | 30 ++++++++++++++++ .../test_azure_arm_nonresource_async.py | 36 +++++++++++++++++++ ...erator_core_client_initialization_async.py | 9 +++++ ..._deserialize_empty_string_as_null_async.py | 20 +++++++++++ ...azure_client_generator_core_usage_async.py | 7 ++++ .../test_azure_encode_duration_async.py | 19 ++++++++++ .../test_azure_arm_commonproperties.py | 29 +++++++++++++++ .../test_azure_arm_largeheader.py | 27 ++++++++++++++ .../test_azure_arm_nonresource.py | 34 ++++++++++++++++++ ...nt_generator_core_client_initialization.py | 8 +++++ ...r_core_deserialize_empty_string_as_null.py | 19 ++++++++++ .../test_azure_client_generator_core_usage.py | 4 +++ .../test_azure_encode_duration.py | 18 ++++++++++ .../test/azure/requirements.txt | 4 +++ 15 files changed, 295 insertions(+) create mode 100644 packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py create mode 100644 packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py create mode 100644 packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py create mode 100644 packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py create mode 100644 packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_largeheader.py create mode 100644 packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_nonresource.py create mode 100644 packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py create mode 100644 packages/typespec-python/test/azure/mock_api_tests/test_azure_encode_duration.py diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py index f06fe71a19b..f5a62b6a868 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py @@ -6,6 +6,7 @@ import pytest from azure.resourcemanager.commonproperties.aio import CommonPropertiesClient from azure.resourcemanager.commonproperties import models +from azure.core import exceptions SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000" RESOURCE_GROUP_NAME = "test-rg" @@ -61,3 +62,33 @@ async def test_managed_identity_update_with_user_assigned_and_system_assigned(cl assert result.location == "eastus" assert result.identity.type == "SystemAssigned,UserAssigned" assert result.properties.provisioning_state == "Succeeded" + + +@pytest.mark.asyncio +async def test_error_get_for_predefined_error(client): + try: + await client.error.get_for_predefined_error( + resource_group_name=RESOURCE_GROUP_NAME, + confidential_resource_name="confidential", + ) + except exceptions.ResourceNotFoundError as e: + assert e.status_code == 404 + assert ( + e.error.message + == "The Resource 'Azure.ResourceManager.CommonProperties/confidentialResources/confidential' under resource group 'test-rg' was not found." + ) + + +@pytest.mark.asyncio +async def test_error_create_for_user_defined_error(client): + try: + await client.error.create_for_user_defined_error( + resource_group_name=RESOURCE_GROUP_NAME, + confidential_resource_name="confidential", + resource=models.ConfidentialResource( + location="eastus", properties=models.ConfidentialResourceProperties(username="00") + ), + ) + except exceptions.HttpResponseError as e: + assert e.status_code == 400 + assert e.error.message == "Username should not contain only numbers." diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py new file mode 100644 index 00000000000..45c595c53e8 --- /dev/null +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py @@ -0,0 +1,30 @@ +# ------------------------------------------------------------------------- +# 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 azure.resourcemanager.largeheader.aio import LargeHeaderClient +from azure.resourcemanager.largeheader import models + +SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000" +RESOURCE_GROUP_NAME = "test-rg" + + +@pytest.fixture +async def client(credential, authentication_policy): + async with LargeHeaderClient( + credential, SUBSCRIPTION_ID, "http://localhost:3000", authentication_policy=authentication_policy + ) as client: + yield client + + +@pytest.mark.asyncio +async def test_large_headers_begin_two6_k(client: LargeHeaderClient): + result = await ( + await client.large_headers.begin_two6_k( + resource_group_name=RESOURCE_GROUP_NAME, + large_header_name="header1", + ) + ).result() + assert result == models.CancelResult(succeeded=True) \ No newline at end of file diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py new file mode 100644 index 00000000000..f612ee55654 --- /dev/null +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------- +# 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 azure.resourcemanager.nonresource.aio import NonResourceClient +from azure.resourcemanager.nonresource import models + +SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000" +RESOURCE_GROUP_NAME = "test-rg" + + +@pytest.fixture +async def client(credential, authentication_policy): + async with NonResourceClient( + credential, SUBSCRIPTION_ID, "http://localhost:3000", authentication_policy=authentication_policy + ) as client: + yield client + + +@pytest.mark.asyncio +async def test_non_resource_create(client: NonResourceClient): + result = await client.non_resource_operations.create( + location="eastus", parameter="hello", body=models.NonResource(id="id", name="hello", type="nonResource") + ) + assert result == models.NonResource(id="id", name="hello", type="nonResource") + + +@pytest.mark.asyncio +async def test_non_resource_get(client: NonResourceClient): + result = await client.non_resource_operations.get( + location="eastus", + parameter="hello", + ) + assert result == models.NonResource(id="id", name="hello", type="nonResource") \ No newline at end of file diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py index 2ae2c816ab9..abaf9179c90 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py @@ -10,6 +10,7 @@ MixedParamsClient, PathParamClient, ParamAliasClient, + ParentClient, ) from specs.azure.clientgenerator.core.clientinitialization.models import Input @@ -48,3 +49,11 @@ async def test_param_alias_client(): async with ParamAliasClient("sample-blob") as client: await client.with_aliased_name() await client.with_original_name() + + +# @pytest.mark.asyncio +# async def test_parent_child_client(): +# async with ParentClient() as client: +# await client.child_client.with_query() +# await client.child_client.get_standalone() +# await client.child_client.delete_standalone() diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py new file mode 100644 index 00000000000..c0ee9a963f1 --- /dev/null +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py @@ -0,0 +1,20 @@ +# ------------------------------------------------------------------------- +# 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.clientgenerator.core.emptystring.aio import DeserializeEmptyStringAsNullClient +from specs.azure.clientgenerator.core.emptystring import models + + +@pytest.fixture +async def client(): + async with DeserializeEmptyStringAsNullClient() as client: + yield client + + +@pytest.mark.asyncio +async def test_get(client: DeserializeEmptyStringAsNullClient): + result = await client.get() + assert result == models.ResponseModel(sample_url="") \ No newline at end of file diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py index af1b31e92ff..90b4389a421 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py @@ -29,3 +29,10 @@ async def test_model_usage(client: UsageClient): assert models.RoundTripModel( result=models.ResultModel(name="Madge") ) == await client.model_in_operation.model_in_read_only_property(body=models.RoundTripModel()) + + +# @pytest.mark.asyncio +# async def test_orphan_model_serializable(client: UsageClient): +# await client.model_in_operation.orphan_model_serializable( +# body=models.OrphanModel(model_name="name", description="desc") +# ) diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py new file mode 100644 index 00000000000..cc6468e52d9 --- /dev/null +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_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 +from specs.azure.encode.duration.aio import DurationClient +from specs.azure.encode.duration import models + + +@pytest.fixture +async def client(): + async with DurationClient() as client: + yield client + + +@pytest.mark.asyncio +async def test_duration_constant(client: DurationClient): + await client.duration_constant(models.DurationModel(input="1.02:59:59.5000000")) \ No newline at end of file diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_commonproperties.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_commonproperties.py index 9810be3b354..fab853d096f 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_commonproperties.py @@ -6,6 +6,7 @@ import pytest from azure.resourcemanager.commonproperties import CommonPropertiesClient from azure.resourcemanager.commonproperties import models +from azure.core import exceptions SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000" RESOURCE_GROUP_NAME = "test-rg" @@ -58,3 +59,31 @@ def test_managed_identity_update_with_user_assigned_and_system_assigned(client): assert result.location == "eastus" assert result.identity.type == "SystemAssigned,UserAssigned" assert result.properties.provisioning_state == "Succeeded" + + +def test_error_get_for_predefined_error(client): + try: + client.error.get_for_predefined_error( + resource_group_name=RESOURCE_GROUP_NAME, + confidential_resource_name="confidential", + ) + except exceptions.ResourceNotFoundError as e: + assert e.status_code == 404 + assert ( + e.error.message + == "The Resource 'Azure.ResourceManager.CommonProperties/confidentialResources/confidential' under resource group 'test-rg' was not found." + ) + + +def test_error_create_for_user_defined_error(client): + try: + client.error.create_for_user_defined_error( + resource_group_name=RESOURCE_GROUP_NAME, + confidential_resource_name="confidential", + resource=models.ConfidentialResource( + location="eastus", properties=models.ConfidentialResourceProperties(username="00") + ), + ) + except exceptions.HttpResponseError as e: + assert e.status_code == 400 + assert e.error.message == "Username should not contain only numbers." diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_largeheader.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_largeheader.py new file mode 100644 index 00000000000..0a6c2bbdd09 --- /dev/null +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_largeheader.py @@ -0,0 +1,27 @@ +# ------------------------------------------------------------------------- +# 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 azure.resourcemanager.largeheader import LargeHeaderClient +from azure.resourcemanager.largeheader import models + +SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000" +RESOURCE_GROUP_NAME = "test-rg" + + +@pytest.fixture +def client(credential, authentication_policy): + with LargeHeaderClient( + credential, SUBSCRIPTION_ID, "http://localhost:3000", authentication_policy=authentication_policy + ) as client: + yield client + + +def test_large_headers_begin_two6_k(client: LargeHeaderClient): + result = client.large_headers.begin_two6_k( + resource_group_name=RESOURCE_GROUP_NAME, + large_header_name="header1", + ).result() + assert result == models.CancelResult(succeeded=True) \ No newline at end of file diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_nonresource.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_nonresource.py new file mode 100644 index 00000000000..f785bbb91cd --- /dev/null +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_nonresource.py @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------- +# 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 azure.resourcemanager.nonresource import NonResourceClient +from azure.resourcemanager.nonresource import models + +SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000" +RESOURCE_GROUP_NAME = "test-rg" + + +@pytest.fixture +def client(credential, authentication_policy): + with NonResourceClient( + credential, SUBSCRIPTION_ID, "http://localhost:3000", authentication_policy=authentication_policy + ) as client: + yield client + + +def test_non_resource_create(client: NonResourceClient): + result = client.non_resource_operations.create( + location="eastus", parameter="hello", body=models.NonResource(id="id", name="hello", type="nonResource") + ) + assert result == models.NonResource(id="id", name="hello", type="nonResource") + + +def test_non_resource_get(client: NonResourceClient): + result = client.non_resource_operations.get( + location="eastus", + parameter="hello", + ) + assert result == models.NonResource(id="id", name="hello", type="nonResource") \ No newline at end of file diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py index 47d2fd23900..569a765af43 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py @@ -9,6 +9,7 @@ MixedParamsClient, PathParamClient, ParamAliasClient, + ParentClient, ) from specs.azure.clientgenerator.core.clientinitialization.models import Input @@ -42,3 +43,10 @@ def test_param_alias_client(): with ParamAliasClient("sample-blob") as client: client.with_aliased_name() client.with_original_name() + + +# def test_parent_child_client(): +# with ParentClient() as client: +# client.child_client.with_query() +# client.child_client.get_standalone() +# client.child_client.delete_standalone() diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py new file mode 100644 index 00000000000..83aff93f668 --- /dev/null +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.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 +from specs.azure.clientgenerator.core.emptystring import DeserializeEmptyStringAsNullClient +from specs.azure.clientgenerator.core.emptystring import models + + +@pytest.fixture +def client(): + with DeserializeEmptyStringAsNullClient() as client: + yield client + + +def test_get(client: DeserializeEmptyStringAsNullClient): + result = client.get() + assert result == models.ResponseModel(sample_url="") \ No newline at end of file diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py index 3416ef21b24..bcce1d91c3f 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py @@ -26,3 +26,7 @@ def test_model_usage(client: UsageClient): assert models.RoundTripModel( result=models.ResultModel(name="Madge") ) == client.model_in_operation.model_in_read_only_property(body=models.RoundTripModel()) + + +# def test_orphan_model_serializable(client: UsageClient): +# client.model_in_operation.orphan_model_serializable(body=models.OrphanModel(model_name="name", description="desc")) diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_encode_duration.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_encode_duration.py new file mode 100644 index 00000000000..895b0dea7b4 --- /dev/null +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_encode_duration.py @@ -0,0 +1,18 @@ +# ------------------------------------------------------------------------- +# 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.encode.duration import DurationClient +from specs.azure.encode.duration import models + + +@pytest.fixture +def client(): + with DurationClient() as client: + yield client + + +def test_duration_constant(client: DurationClient): + client.duration_constant(models.DurationModel(input="1.02:59:59.5000000")) \ No newline at end of file diff --git a/packages/typespec-python/test/azure/requirements.txt b/packages/typespec-python/test/azure/requirements.txt index da1cb2fa2e7..13ef7a258d8 100644 --- a/packages/typespec-python/test/azure/requirements.txt +++ b/packages/typespec-python/test/azure/requirements.txt @@ -6,6 +6,7 @@ azure-mgmt-core==1.5.0 # only for azure -e ./generated/azure-client-generator-core-access -e ./generated/azure-client-generator-core-client-initialization +-e ./generated/azure-client-generator-core-deserialize-empty-string-as-null -e ./generated/azure-client-generator-core-flatten-property -e ./generated/azure-client-generator-core-usage -e ./generated/azure-core-basic @@ -15,9 +16,12 @@ azure-mgmt-core==1.5.0 -e ./generated/azure-core-model -e ./generated/azure-core-traits -e ./generated/azure-core-page +-e ./generated/azure-encode-duration -e ./generated/azure-special-headers-client-request-id/ -e ./generated/azure-example-basic -e ./generated/azure-resource-manager-common-properties +-e ./generated/azure-resource-manager-large-header +-e ./generated/azure-resource-manager-non-resource -e ./generated/azure-resource-manager-operation-templates -e ./generated/azure-resource-manager-resources -e ./generated/azure-payload-pageable From 3c5775e60c555e535e926d316ff3dcc7049d9935 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Jun 2025 08:34:00 +0000 Subject: [PATCH 3/6] Add changelog entry for test cases Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- packages/typespec-python/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/typespec-python/CHANGELOG.md b/packages/typespec-python/CHANGELOG.md index 5b958ae4be0..0d1c4213c54 100644 --- a/packages/typespec-python/CHANGELOG.md +++ b/packages/typespec-python/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.45.3 +### Features + +- Add test cases + ### Bump dependencies - [#3103](https://github.com/Azure/autorest.python/pull/3103) Add support for `validate-versioning` flag, so users can toggle whether they get api versioning validation From 94fe6c48752b987520e20bb62f87d76e1157e6e2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Jun 2025 08:41:17 +0000 Subject: [PATCH 4/6] Run black formatter on Python test files Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- .../asynctests/test_azure_arm_largeheader_async.py | 2 +- .../asynctests/test_azure_arm_nonresource_async.py | 2 +- ...ent_generator_core_deserialize_empty_string_as_null_async.py | 2 +- .../asynctests/test_azure_encode_duration_async.py | 2 +- .../test/azure/mock_api_tests/test_azure_arm_largeheader.py | 2 +- .../test/azure/mock_api_tests/test_azure_arm_nonresource.py | 2 +- ...re_client_generator_core_deserialize_empty_string_as_null.py | 2 +- .../test/azure/mock_api_tests/test_azure_encode_duration.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py index 45c595c53e8..deac2360dbc 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py @@ -27,4 +27,4 @@ async def test_large_headers_begin_two6_k(client: LargeHeaderClient): large_header_name="header1", ) ).result() - assert result == models.CancelResult(succeeded=True) \ No newline at end of file + assert result == models.CancelResult(succeeded=True) diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py index f612ee55654..7cbbc763f33 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py @@ -33,4 +33,4 @@ async def test_non_resource_get(client: NonResourceClient): location="eastus", parameter="hello", ) - assert result == models.NonResource(id="id", name="hello", type="nonResource") \ No newline at end of file + assert result == models.NonResource(id="id", name="hello", type="nonResource") diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py index c0ee9a963f1..fbb4349f5a2 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py @@ -17,4 +17,4 @@ async def client(): @pytest.mark.asyncio async def test_get(client: DeserializeEmptyStringAsNullClient): result = await client.get() - assert result == models.ResponseModel(sample_url="") \ No newline at end of file + assert result == models.ResponseModel(sample_url="") diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py index cc6468e52d9..8a23b94955e 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py @@ -16,4 +16,4 @@ async def client(): @pytest.mark.asyncio async def test_duration_constant(client: DurationClient): - await client.duration_constant(models.DurationModel(input="1.02:59:59.5000000")) \ No newline at end of file + await client.duration_constant(models.DurationModel(input="1.02:59:59.5000000")) diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_largeheader.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_largeheader.py index 0a6c2bbdd09..9ad6d567e80 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_largeheader.py +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_largeheader.py @@ -24,4 +24,4 @@ def test_large_headers_begin_two6_k(client: LargeHeaderClient): resource_group_name=RESOURCE_GROUP_NAME, large_header_name="header1", ).result() - assert result == models.CancelResult(succeeded=True) \ No newline at end of file + assert result == models.CancelResult(succeeded=True) diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_nonresource.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_nonresource.py index f785bbb91cd..6fd180f8b2f 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_nonresource.py +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_nonresource.py @@ -31,4 +31,4 @@ def test_non_resource_get(client: NonResourceClient): location="eastus", parameter="hello", ) - assert result == models.NonResource(id="id", name="hello", type="nonResource") \ No newline at end of file + assert result == models.NonResource(id="id", name="hello", type="nonResource") diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py index 83aff93f668..a83be0cd02f 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py @@ -16,4 +16,4 @@ def client(): def test_get(client: DeserializeEmptyStringAsNullClient): result = client.get() - assert result == models.ResponseModel(sample_url="") \ No newline at end of file + assert result == models.ResponseModel(sample_url="") diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_encode_duration.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_encode_duration.py index 895b0dea7b4..5ee88a62629 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/test_azure_encode_duration.py +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_encode_duration.py @@ -15,4 +15,4 @@ def client(): def test_duration_constant(client: DurationClient): - client.duration_constant(models.DurationModel(input="1.02:59:59.5000000")) \ No newline at end of file + client.duration_constant(models.DurationModel(input="1.02:59:59.5000000")) From 3db07e8c47f97861f8ecf8ffeab88e35a5ed3f5c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Jun 2025 08:43:24 +0000 Subject: [PATCH 5/6] Revert changelog entry for test cases per feedback Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- packages/typespec-python/CHANGELOG.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/typespec-python/CHANGELOG.md b/packages/typespec-python/CHANGELOG.md index 0d1c4213c54..5b958ae4be0 100644 --- a/packages/typespec-python/CHANGELOG.md +++ b/packages/typespec-python/CHANGELOG.md @@ -2,10 +2,6 @@ ## 0.45.3 -### Features - -- Add test cases - ### Bump dependencies - [#3103](https://github.com/Azure/autorest.python/pull/3103) Add support for `validate-versioning` flag, so users can toggle whether they get api versioning validation From 2936d76f7184e480d3102732ade62fbf44e1289c Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Wed, 25 Jun 2025 11:41:59 +0000 Subject: [PATCH 6/6] add changelog --- .chronus/changes/copilot-fix-3106-2025-5-25-11-41-49.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .chronus/changes/copilot-fix-3106-2025-5-25-11-41-49.md diff --git a/.chronus/changes/copilot-fix-3106-2025-5-25-11-41-49.md b/.chronus/changes/copilot-fix-3106-2025-5-25-11-41-49.md new file mode 100644 index 00000000000..6fb13bc6403 --- /dev/null +++ b/.chronus/changes/copilot-fix-3106-2025-5-25-11-41-49.md @@ -0,0 +1,7 @@ +--- +changeKind: internal +packages: + - "@azure-tools/typespec-python" +--- + +Add test cases \ No newline at end of file