test: add validation test for duplicate device request names

This commit is contained in:
yongruilin
2025-10-09 05:09:46 +00:00
parent ca9e09b7d3
commit d045a9dd3c

View File

@@ -82,6 +82,12 @@ func testDeclarativeValidate(t *testing.T, apiVersion string) {
field.TooMany(field.NewPath("spec", "devices", "requests"), 33, 32).WithOrigin("maxItems"),
},
},
"invalid requests, duplicate name": {
input: mkValidResourceClaim(tweakDuplicateRequestName("req-0")),
expectedErrs: field.ErrorList{
field.Duplicate(field.NewPath("spec", "devices", "requests").Index(1), "req-0"),
},
},
"invalid constraints, too many": {
input: mkValidResourceClaim(tweakDevicesConstraints(33)),
expectedErrs: field.ErrorList{
@@ -208,6 +214,12 @@ func tweakDevicesRequests(items int) func(*resource.ResourceClaim) {
}
}
func tweakDuplicateRequestName(name string) func(*resource.ResourceClaim) {
return func(rc *resource.ResourceClaim) {
rc.Spec.Devices.Requests = append(rc.Spec.Devices.Requests, mkDeviceRequest(name))
}
}
func tweakExactlySelectors(items int) func(*resource.ResourceClaim) {
return func(rc *resource.ResourceClaim) {
for i := 0; i < items; i++ {