Skip to content

Commit ae5d9f3

Browse files
committed
Adding spot placement score test and recording file
1 parent dc3beed commit ae5d9f3

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
interactions:
2+
- request:
3+
body: '{"availabilityZones": true, "desiredCount": 1, "desiredLocations": ["eastus",
4+
"eastus2"], "desiredSizes": [{"sku": "Standard_D2_v2"}]}'
5+
headers:
6+
Accept:
7+
- application/json
8+
Accept-Encoding:
9+
- gzip, deflate
10+
CommandName:
11+
- compute-recommender spot-placement-score
12+
Connection:
13+
- keep-alive
14+
Content-Length:
15+
- '134'
16+
Content-Type:
17+
- application/json
18+
ParameterSetName:
19+
- -l --subscription --availability-zones --desired-locations --desired-count
20+
--desired-sizes
21+
User-Agent:
22+
- AZURECLI/2.75.0 azsdk-python-core/1.35.0 Python/3.12.10 (Windows-11-10.0.22621-SP0)
23+
method: POST
24+
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/placementScores/spot/generate?api-version=2025-06-05
25+
response:
26+
body:
27+
string: '{"desiredLocations":["eastus","eastus2"],"desiredSizes":[{"sku":"Standard_D2_v2"}],"desiredCount":1,"availabilityZones":true,"placementScores":[{"sku":"Standard_D2_v2","region":"eastus","availabilityZone":"1","score":"RestrictedSkuNotAvailable","isQuotaAvailable":true},{"sku":"Standard_D2_v2","region":"eastus","availabilityZone":"2","score":"RestrictedSkuNotAvailable","isQuotaAvailable":true},{"sku":"Standard_D2_v2","region":"eastus","availabilityZone":"3","score":"RestrictedSkuNotAvailable","isQuotaAvailable":true},{"sku":"Standard_D2_v2","region":"eastus2","availabilityZone":"1","score":"Low","isQuotaAvailable":true},{"sku":"Standard_D2_v2","region":"eastus2","availabilityZone":"2","score":"Low","isQuotaAvailable":true},{"sku":"Standard_D2_v2","region":"eastus2","availabilityZone":"3","score":"Low","isQuotaAvailable":true}]}'
28+
headers:
29+
api-supported-versions:
30+
- 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-06-05-preview,
31+
2025-06-05
32+
cache-control:
33+
- no-cache
34+
content-length:
35+
- '838'
36+
content-type:
37+
- application/json; charset=utf-8
38+
date:
39+
- Thu, 24 Jul 2025 00:54:07 GMT
40+
expires:
41+
- '-1'
42+
pragma:
43+
- no-cache
44+
strict-transport-security:
45+
- max-age=31536000; includeSubDomains
46+
x-cache:
47+
- CONFIG_NOCACHE
48+
x-content-type-options:
49+
- nosniff
50+
x-ms-operation-identifier:
51+
- tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=08e22377-6d70-4f82-b548-12ea80f00e8a/westus2/6d5eba66-9484-4bea-be37-6f3f019a6390
52+
x-ms-ratelimit-remaining-subscription-global-writes:
53+
- '11999'
54+
x-ms-ratelimit-remaining-subscription-writes:
55+
- '799'
56+
x-msedge-ref:
57+
- 'Ref A: 5970299CFCE942E98330E15C3118BC33 Ref B: MWH011020809025 Ref C: 2025-07-24T00:54:02Z'
58+
status:
59+
code: 200
60+
message: OK
61+
version: 1

src/azure-cli/azure/cli/command_modules/compute_recommender/tests/latest/test_compute_recommender.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,18 @@ def test_spot_placement_recommender_generate(self):
2121

2222
spot_scores_output = self.cmd('az compute-recommender spot-placement-recommender -l {location} --subscription {subscription_id} --availability-zones {availability_zones} --desired-locations \'{desired_locations}\' --desired-count {desired_count} --desired-sizes \'{desired_sizes}\'').get_output_in_json()
2323

24+
self.assertTrue(len(spot_scores_output["placementScores"]) > 0, "Spot scores should have at least one item")
25+
26+
def test_spot_placement_score_generate(self):
27+
self.kwargs.update({
28+
'location': 'eastus',
29+
'subscription_id': self.get_subscription_id(),
30+
'availability_zones': 'true',
31+
'desired_locations': '["eastus", "eastus2"]',
32+
'desired_count': 1,
33+
'desired_sizes': '[{"sku": "Standard_D2_v2"}]'
34+
})
35+
36+
spot_scores_output = self.cmd('az compute-recommender spot-placement-score -l {location} --subscription {subscription_id} --availability-zones {availability_zones} --desired-locations \'{desired_locations}\' --desired-count {desired_count} --desired-sizes \'{desired_sizes}\'').get_output_in_json()
37+
2438
self.assertTrue(len(spot_scores_output["placementScores"]) > 0, "Spot scores should have at least one item")

0 commit comments

Comments
 (0)