diff --git a/pkg/registry/resource/resourceclaim/declarative_validation_test.go b/pkg/registry/resource/resourceclaim/declarative_validation_test.go index 467e8c30525..879b03786bd 100644 --- a/pkg/registry/resource/resourceclaim/declarative_validation_test.go +++ b/pkg/registry/resource/resourceclaim/declarative_validation_test.go @@ -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++ {