test: add validation test for duplicate DeviceClaimConfiguration requests

This commit is contained in:
yongruilin
2025-10-09 07:36:37 +00:00
parent ed932547cf
commit 514b93d7e1

View File

@@ -144,6 +144,12 @@ func testDeclarativeValidate(t *testing.T, apiVersion string) {
field.Duplicate(field.NewPath("spec", "devices", "constraints").Index(0).Child("requests").Index(1), "req-0"),
},
},
"invalid config requests, duplicate name": {
input: mkValidResourceClaim(tweakDuplicateConfigRequest("req-0")),
expectedErrs: field.ErrorList{
field.Duplicate(field.NewPath("spec", "devices", "config").Index(0).Child("requests").Index(1), "req-0"),
},
},
"valid firstAvailable, max allowed": {
input: mkValidResourceClaim(tweakFirstAvailable(8)),
},
@@ -321,6 +327,15 @@ func tweakDuplicateConstraintRequest(name string) func(*resource.ResourceClaim)
}
}
func tweakDuplicateConfigRequest(name string) func(*resource.ResourceClaim) {
return func(rc *resource.ResourceClaim) {
if len(rc.Spec.Devices.Config) == 0 {
rc.Spec.Devices.Config = append(rc.Spec.Devices.Config, mkDeviceClaimConfiguration())
}
rc.Spec.Devices.Config[0].Requests = append(rc.Spec.Devices.Config[0].Requests, name)
}
}
func tweakFirstAvailable(items int) func(*resource.ResourceClaim) {
return func(rc *resource.ResourceClaim) {
rc.Spec.Devices.Requests[0].Exactly = nil