Skip to content

Commit fdcb0b1

Browse files
committed
Sync test changes from microsoft/typespec#9571
1 parent 4dd4124 commit fdcb0b1

10 files changed

+538
-0
lines changed

packages/typespec-python/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,18 @@ async def test_optional_body_provider_post_with_body(client):
176176
assert result.status == "Changed to requested allowance"
177177

178178

179+
@pytest.mark.asyncio
180+
async def test_lro_begin_export_array(client):
181+
result = await (
182+
await client.lro.begin_export_array(
183+
body=models.ExportRequest(format="csv"),
184+
)
185+
).result()
186+
assert len(result) == 2
187+
assert result[0].content == "order1,product1,1"
188+
assert result[1].content == "order2,product2,2"
189+
190+
179191
@pytest.mark.asyncio
180192
async def test_lro_paging_begin_post_paging_lro(client):
181193
poller = await client.lro_paging.begin_post_paging_lro(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# -------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for
4+
# license information.
5+
# --------------------------------------------------------------------------
6+
import pytest
7+
from azure.resourcemanager.multiserviceolderversions.combined.aio import CombinedClient
8+
from azure.resourcemanager.multiserviceolderversions.combined.models import (
9+
VirtualMachine,
10+
Disk,
11+
VirtualMachineProperties,
12+
DiskProperties,
13+
)
14+
15+
16+
@pytest.fixture
17+
async def client(credential, authentication_policy):
18+
"""Create a Combined async client for testing."""
19+
return CombinedClient(
20+
credential=credential,
21+
subscription_id="00000000-0000-0000-0000-000000000000",
22+
base_url="http://localhost:3000",
23+
authentication_policy=authentication_policy,
24+
polling_interval=0.1,
25+
)
26+
27+
28+
@pytest.mark.asyncio
29+
async def test_virtual_machines_get(client):
30+
"""Test getting a virtual machine."""
31+
resource_group_name = "test-rg"
32+
vm_name = "vm-old1"
33+
34+
result = await client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name)
35+
36+
assert result is not None
37+
assert isinstance(result, VirtualMachine)
38+
assert result.name == vm_name
39+
assert result.location == "eastus"
40+
assert result.properties is not None
41+
assert result.properties.provisioning_state == "Succeeded"
42+
assert result.properties.size == "Standard_D2s_v3"
43+
44+
45+
@pytest.mark.asyncio
46+
async def test_virtual_machines_create_or_update(client):
47+
"""Test creating or updating a virtual machine."""
48+
resource_group_name = "test-rg"
49+
vm_name = "vm-old1"
50+
51+
vm_resource = VirtualMachine(
52+
location="eastus",
53+
properties=VirtualMachineProperties(size="Standard_D2s_v3"),
54+
)
55+
56+
poller = await client.virtual_machines.begin_create_or_update(
57+
resource_group_name=resource_group_name,
58+
vm_name=vm_name,
59+
resource=vm_resource,
60+
)
61+
62+
result = await poller.result()
63+
assert result is not None
64+
assert isinstance(result, VirtualMachine)
65+
assert result.location == "eastus"
66+
assert result.properties is not None
67+
assert result.properties.provisioning_state == "Succeeded"
68+
assert result.properties.size == "Standard_D2s_v3"
69+
70+
71+
@pytest.mark.asyncio
72+
async def test_disks_get(client):
73+
"""Test getting a disk."""
74+
resource_group_name = "test-rg"
75+
disk_name = "disk-old1"
76+
77+
result = await client.disks.get(resource_group_name=resource_group_name, disk_name=disk_name)
78+
79+
assert result is not None
80+
assert isinstance(result, Disk)
81+
assert result.name == disk_name
82+
assert result.location == "eastus"
83+
assert result.properties is not None
84+
assert result.properties.provisioning_state == "Succeeded"
85+
assert result.properties.disk_size_gb == 128
86+
87+
88+
@pytest.mark.asyncio
89+
async def test_disks_create_or_update(client):
90+
"""Test creating or updating a disk."""
91+
resource_group_name = "test-rg"
92+
disk_name = "disk-old1"
93+
94+
disk_resource = Disk(
95+
location="eastus",
96+
properties=DiskProperties(disk_size_gb=128),
97+
)
98+
99+
poller = await client.disks.begin_create_or_update(
100+
resource_group_name=resource_group_name,
101+
disk_name=disk_name,
102+
resource=disk_resource,
103+
)
104+
105+
result = await poller.result()
106+
assert result is not None
107+
assert isinstance(result, Disk)
108+
assert result.location == "eastus"
109+
assert result.properties is not None
110+
assert result.properties.provisioning_state == "Succeeded"
111+
assert result.properties.disk_size_gb == 128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# -------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for
4+
# license information.
5+
# --------------------------------------------------------------------------
6+
import pytest
7+
from azure.resourcemanager.multiservicesharedmodels.combined.aio import CombinedClient
8+
from azure.resourcemanager.multiservicesharedmodels.combined.models import (
9+
VirtualMachine,
10+
VirtualMachineProperties,
11+
StorageAccount,
12+
StorageAccountProperties,
13+
SharedMetadata,
14+
)
15+
16+
17+
@pytest.fixture
18+
async def client(credential, authentication_policy):
19+
"""Create a Combined async client for testing."""
20+
return CombinedClient(
21+
credential=credential,
22+
subscription_id="00000000-0000-0000-0000-000000000000",
23+
base_url="http://localhost:3000",
24+
authentication_policy=authentication_policy,
25+
polling_interval=0.1,
26+
)
27+
28+
29+
@pytest.mark.asyncio
30+
async def test_virtual_machines_get(client):
31+
"""Test getting a virtual machine with shared metadata."""
32+
resource_group_name = "test-rg"
33+
vm_name = "vm-shared1"
34+
35+
result = await client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name)
36+
37+
assert result is not None
38+
assert isinstance(result, VirtualMachine)
39+
assert result.name == vm_name
40+
assert result.location == "eastus"
41+
assert result.type == "Microsoft.Compute/virtualMachinesShared"
42+
assert result.properties is not None
43+
assert result.properties.provisioning_state == "Succeeded"
44+
assert result.properties.metadata is not None
45+
assert result.properties.metadata.created_by == "user@example.com"
46+
assert result.properties.metadata.tags == {"environment": "production"}
47+
48+
49+
@pytest.mark.asyncio
50+
async def test_virtual_machines_create_or_update(client):
51+
"""Test creating or updating a virtual machine with shared metadata."""
52+
resource_group_name = "test-rg"
53+
vm_name = "vm-shared1"
54+
55+
vm_resource = VirtualMachine(
56+
location="eastus",
57+
properties=VirtualMachineProperties(
58+
metadata=SharedMetadata(
59+
created_by="user@example.com",
60+
tags={"environment": "production"},
61+
),
62+
),
63+
)
64+
65+
poller = await client.virtual_machines.begin_create_or_update(
66+
resource_group_name=resource_group_name,
67+
vm_name=vm_name,
68+
resource=vm_resource,
69+
)
70+
71+
result = await poller.result()
72+
assert result is not None
73+
assert isinstance(result, VirtualMachine)
74+
assert result.location == "eastus"
75+
assert result.properties is not None
76+
assert result.properties.provisioning_state == "Succeeded"
77+
assert result.properties.metadata is not None
78+
assert result.properties.metadata.created_by == "user@example.com"
79+
assert result.properties.metadata.tags == {"environment": "production"}
80+
81+
82+
@pytest.mark.asyncio
83+
async def test_storage_accounts_get(client):
84+
"""Test getting a storage account with shared metadata."""
85+
resource_group_name = "test-rg"
86+
account_name = "account1"
87+
88+
result = await client.storage_accounts.get(resource_group_name=resource_group_name, account_name=account_name)
89+
90+
assert result is not None
91+
assert isinstance(result, StorageAccount)
92+
assert result.name == account_name
93+
assert result.location == "westus"
94+
assert result.type == "Microsoft.Storage/storageAccounts"
95+
assert result.properties is not None
96+
assert result.properties.provisioning_state == "Succeeded"
97+
assert result.properties.metadata is not None
98+
assert result.properties.metadata.created_by == "admin@example.com"
99+
assert result.properties.metadata.tags == {"department": "engineering"}
100+
101+
102+
@pytest.mark.asyncio
103+
async def test_storage_accounts_create_or_update(client):
104+
"""Test creating or updating a storage account with shared metadata."""
105+
resource_group_name = "test-rg"
106+
account_name = "account1"
107+
108+
storage_resource = StorageAccount(
109+
location="westus",
110+
properties=StorageAccountProperties(
111+
metadata=SharedMetadata(
112+
created_by="admin@example.com",
113+
tags={"department": "engineering"},
114+
),
115+
),
116+
)
117+
118+
poller = await client.storage_accounts.begin_create_or_update(
119+
resource_group_name=resource_group_name,
120+
account_name=account_name,
121+
resource=storage_resource,
122+
)
123+
124+
result = await poller.result()
125+
assert result is not None
126+
assert isinstance(result, StorageAccount)
127+
assert result.location == "westus"
128+
assert result.properties is not None
129+
assert result.properties.provisioning_state == "Succeeded"
130+
assert result.properties.metadata is not None
131+
assert result.properties.metadata.created_by == "admin@example.com"
132+
assert result.properties.metadata.tags == {"department": "engineering"}

packages/typespec-python/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,15 @@ def test_optional_body_provider_post_with_body(client):
156156
assert result.status == "Changed to requested allowance"
157157

158158

159+
def test_lro_begin_export_array(client):
160+
result = client.lro.begin_export_array(
161+
body=models.ExportRequest(format="csv"),
162+
).result()
163+
assert len(result) == 2
164+
assert result[0].content == "order1,product1,1"
165+
assert result[1].content == "order2,product2,2"
166+
167+
159168
def test_lro_paging_begin_post_paging_lro(client):
160169
result = client.lro_paging.begin_post_paging_lro(
161170
resource_group_name=RESOURCE_GROUP_NAME,
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# -------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for
4+
# license information.
5+
# --------------------------------------------------------------------------
6+
import pytest
7+
from azure.resourcemanager.multiserviceolderversions.combined import CombinedClient
8+
from azure.resourcemanager.multiserviceolderversions.combined.models import (
9+
VirtualMachine,
10+
Disk,
11+
VirtualMachineProperties,
12+
DiskProperties,
13+
)
14+
15+
16+
@pytest.fixture
17+
def client(credential, authentication_policy):
18+
"""Create a Combined client for testing."""
19+
return CombinedClient(
20+
credential=credential,
21+
subscription_id="00000000-0000-0000-0000-000000000000",
22+
base_url="http://localhost:3000",
23+
authentication_policy=authentication_policy,
24+
polling_interval=0.1,
25+
)
26+
27+
28+
def test_virtual_machines_get(client):
29+
"""Test getting a virtual machine."""
30+
resource_group_name = "test-rg"
31+
vm_name = "vm-old1"
32+
33+
result = client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name)
34+
35+
assert result is not None
36+
assert isinstance(result, VirtualMachine)
37+
assert result.name == vm_name
38+
assert result.location == "eastus"
39+
assert result.properties is not None
40+
assert result.properties.provisioning_state == "Succeeded"
41+
assert result.properties.size == "Standard_D2s_v3"
42+
43+
44+
def test_virtual_machines_create_or_update(client):
45+
"""Test creating or updating a virtual machine."""
46+
resource_group_name = "test-rg"
47+
vm_name = "vm-old1"
48+
49+
vm_resource = VirtualMachine(
50+
location="eastus",
51+
properties=VirtualMachineProperties(size="Standard_D2s_v3"),
52+
)
53+
54+
poller = client.virtual_machines.begin_create_or_update(
55+
resource_group_name=resource_group_name,
56+
vm_name=vm_name,
57+
resource=vm_resource,
58+
)
59+
60+
result = poller.result()
61+
assert result is not None
62+
assert isinstance(result, VirtualMachine)
63+
assert result.location == "eastus"
64+
assert result.properties is not None
65+
assert result.properties.provisioning_state == "Succeeded"
66+
assert result.properties.size == "Standard_D2s_v3"
67+
68+
69+
def test_disks_get(client):
70+
"""Test getting a disk."""
71+
resource_group_name = "test-rg"
72+
disk_name = "disk-old1"
73+
74+
result = client.disks.get(resource_group_name=resource_group_name, disk_name=disk_name)
75+
76+
assert result is not None
77+
assert isinstance(result, Disk)
78+
assert result.name == disk_name
79+
assert result.location == "eastus"
80+
assert result.properties is not None
81+
assert result.properties.provisioning_state == "Succeeded"
82+
assert result.properties.disk_size_gb == 128
83+
84+
85+
def test_disks_create_or_update(client):
86+
"""Test creating or updating a disk."""
87+
resource_group_name = "test-rg"
88+
disk_name = "disk-old1"
89+
90+
disk_resource = Disk(
91+
location="eastus",
92+
properties=DiskProperties(disk_size_gb=128),
93+
)
94+
95+
poller = client.disks.begin_create_or_update(
96+
resource_group_name=resource_group_name,
97+
disk_name=disk_name,
98+
resource=disk_resource,
99+
)
100+
101+
result = poller.result()
102+
assert result is not None
103+
assert isinstance(result, Disk)
104+
assert result.location == "eastus"
105+
assert result.properties is not None
106+
assert result.properties.provisioning_state == "Succeeded"
107+
assert result.properties.disk_size_gb == 128

0 commit comments

Comments
 (0)