From ce523cd0479faaf90d6fc51bced394cdb9e1ae1c Mon Sep 17 00:00:00 2001 From: "Chenxi Jiang (WICRESOFT NORTH AMERICA LTD)" Date: Fri, 15 Aug 2025 15:35:28 +0800 Subject: [PATCH] update --- ...test_azure_arm_operationtemplates_async.py | 79 +++++++++++++++++++ .../test_azure_arm_operationtemplates.py | 72 +++++++++++++++++ 2 files changed, 151 insertions(+) diff --git a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py index e2ef9a968da..78e0251a1d8 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +++ b/packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py @@ -95,3 +95,82 @@ async def test_lro_begin_delete(client): order_name="order1", ) ).result() + + +@pytest.mark.asyncio +async def test_optional_body_get(client): + result = await client.optional_body.get( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + ) + assert result.name == "widget1" + assert ( + result.id + == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Azure.ResourceManager.OperationTemplates/widgets/widget1" + ) + assert result.type == "Azure.ResourceManager.OperationTemplates/widgets" + assert result.location == "eastus" + assert result.properties.name == "widget1" + assert result.properties.description == "A test widget" + assert result.properties.provisioning_state == "Succeeded" + + +@pytest.mark.asyncio +async def test_optional_body_patch_without_body(client): + result = await client.optional_body.patch( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + ) + assert result.name == "widget1" + assert result.properties.name == "widget1" + assert result.properties.description == "A test widget" + + +@pytest.mark.asyncio +async def test_optional_body_patch_with_body(client): + result = await client.optional_body.patch( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + properties=models.Widget( + location="eastus", + properties=models.WidgetProperties(name="updated-widget", description="Updated description"), + ), + ) + assert result.name == "widget1" + assert result.properties.name == "updated-widget" + assert result.properties.description == "Updated description" + + +@pytest.mark.asyncio +async def test_optional_body_post_without_body(client): + result = await client.optional_body.post( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + ) + assert result.result == "Action completed successfully" + + +@pytest.mark.asyncio +async def test_optional_body_post_with_body(client): + result = await client.optional_body.post( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + body=models.ActionRequest(action_type="perform", parameters="test-parameters"), + ) + assert result.result == "Action completed successfully with parameters" + + +@pytest.mark.asyncio +async def test_optional_body_provider_post_without_body(client): + result = await client.optional_body.provider_post() + assert result.total_allowed == 50 + assert result.status == "Changed to default allowance" + + +@pytest.mark.asyncio +async def test_optional_body_provider_post_with_body(client): + result = await client.optional_body.provider_post( + body=models.ChangeAllowanceRequest(total_allowed=100, reason="Increased demand"), + ) + assert result.total_allowed == 100 + assert result.status == "Changed to requested allowance" diff --git a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py index f4ac55abe5a..8f714334000 100644 --- a/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +++ b/packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py @@ -82,3 +82,75 @@ def test_lro_begin_delete(client): resource_group_name=RESOURCE_GROUP_NAME, order_name="order1", ).result() + + +def test_optional_body_get(client): + result = client.optional_body.get( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + ) + assert result.name == "widget1" + assert ( + result.id + == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Azure.ResourceManager.OperationTemplates/widgets/widget1" + ) + assert result.type == "Azure.ResourceManager.OperationTemplates/widgets" + assert result.location == "eastus" + assert result.properties.name == "widget1" + assert result.properties.description == "A test widget" + assert result.properties.provisioning_state == "Succeeded" + + +def test_optional_body_patch_without_body(client): + result = client.optional_body.patch( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + ) + assert result.name == "widget1" + assert result.properties.name == "widget1" + assert result.properties.description == "A test widget" + + +def test_optional_body_patch_with_body(client): + result = client.optional_body.patch( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + properties=models.Widget( + location="eastus", + properties=models.WidgetProperties(name="updated-widget", description="Updated description"), + ), + ) + assert result.name == "widget1" + assert result.properties.name == "updated-widget" + assert result.properties.description == "Updated description" + + +def test_optional_body_post_without_body(client): + result = client.optional_body.post( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + ) + assert result.result == "Action completed successfully" + + +def test_optional_body_post_with_body(client): + result = client.optional_body.post( + resource_group_name=RESOURCE_GROUP_NAME, + widget_name="widget1", + body=models.ActionRequest(action_type="perform", parameters="test-parameters"), + ) + assert result.result == "Action completed successfully with parameters" + + +def test_optional_body_provider_post_without_body(client): + result = client.optional_body.provider_post() + assert result.total_allowed == 50 + assert result.status == "Changed to default allowance" + + +def test_optional_body_provider_post_with_body(client): + result = client.optional_body.provider_post( + body=models.ChangeAllowanceRequest(total_allowed=100, reason="Increased demand"), + ) + assert result.total_allowed == 100 + assert result.status == "Changed to requested allowance"