fix(lab): refresh first T-014 batch ETags [T-014]
Harness governance / validate (push) Has been cancelled

This commit is contained in:
QiuSW
2026-08-10 22:39:13 +08:00
parent d355f3d069
commit d029067aa7
2 changed files with 8 additions and 4 deletions
+7 -4
View File
@@ -293,7 +293,11 @@ function Invoke-BatchDesiredState(
$results = @($operation.results) $results = @($operation.results)
if ($operation.status -ne 'succeeded' -or $results.Count -ne $sourceCount -or if ($operation.status -ne 'succeeded' -or $results.Count -ne $sourceCount -or
@($results | Where-Object { $_.status -ne 'succeeded' }).Count -ne 0) { @($results | Where-Object { $_.status -ne 'succeeded' }).Count -ne 0) {
throw "batch desired-state operation was not fully successful" $statusCounts = @($results | Group-Object status | Sort-Object Name |
ForEach-Object { "$($_.Name):$($_.Count)" }) -join ','
$errorCounts = @($results | Where-Object { $_.error_code } | Group-Object error_code | Sort-Object Name |
ForEach-Object { "$($_.Name):$($_.Count)" }) -join ','
throw "batch desired-state operation was not fully successful: operation=$($operation.status), items=$($results.Count), statuses=$statusCounts, errors=$errorCounts"
} }
return [ordered]@{ return [ordered]@{
status = [string]$operation.status status = [string]$operation.status
@@ -714,7 +718,6 @@ try {
$stage = 'creating 16 disabled devices' $stage = 'creating 16 disabled devices'
$deviceIDs = [Collections.Generic.List[string]]::new() $deviceIDs = [Collections.Generic.List[string]]::new()
$createEntries = [Collections.Generic.List[object]]::new()
foreach ($index in 1..$sourceCount) { foreach ($index in 1..$sourceCount) {
$name = 'synthetic-{0:D2}' -f $index $name = 'synthetic-{0:D2}' -f $index
$response = Invoke-ControlRequest 'POST' '/api/v1/sites/site-t014/devices' @(201) ([ordered]@{ $response = Invoke-ControlRequest 'POST' '/api/v1/sites/site-t014/devices' @(201) ([ordered]@{
@@ -729,10 +732,10 @@ try {
}) @{ 'Idempotency-Key' = "t014-create-$index-$script:runNonce" } }) @{ 'Idempotency-Key' = "t014-create-$index-$script:runNonce" }
$created = Convert-ResponseJSON $response $created = Convert-ResponseJSON $response
$deviceIDs.Add([string]$created.id) $deviceIDs.Add([string]$created.id)
$createEntries.Add([pscustomobject]@{ DeviceID = [string]$created.id; ETag = Get-ResponseETag $response })
} }
$stage = 'batch enabling 16 devices' $stage = 'batch enabling 16 devices'
$firstEnableBatch = Invoke-BatchDesiredState 'enabled' @($createEntries) 'enable-1' $firstEnableEntries = Get-DeviceEntries @($deviceIDs)
$firstEnableBatch = Invoke-BatchDesiredState 'enabled' $firstEnableEntries 'enable-1'
$firstEnableSeconds = Wait-Convergence 'enabled' $firstEnableSeconds = Wait-Convergence 'enabled'
$firstEnabledInventory = Get-MediaInventory $script:productionAPIPort $firstEnabledInventory = Get-MediaInventory $script:productionAPIPort
+1
View File
@@ -24,6 +24,7 @@ class SenseCapacityContractTests(unittest.TestCase):
def test_exercises_real_control_api_and_quota_boundary(self): def test_exercises_real_control_api_and_quota_boundary(self):
self.assertIn("/api/v1/sites/site-t014/devices:batchDesiredState", self.script) self.assertIn("/api/v1/sites/site-t014/devices:batchDesiredState", self.script)
self.assertIn("desired_state = 'disabled'", self.script) self.assertIn("desired_state = 'disabled'", self.script)
self.assertIn("$firstEnableEntries = Get-DeviceEntries @($deviceIDs)", self.script)
self.assertIn("t014-overflow-17", self.script) self.assertIn("t014-overflow-17", self.script)
self.assertIn("quota_exceeded", self.script) self.assertIn("quota_exceeded", self.script)
self.assertIn("'enabled'", self.script) self.assertIn("'enabled'", self.script)