From d045a9dd3cd20dace6aacaf39f7ab694f9e1aa56 Mon Sep 17 00:00:00 2001 From: yongruilin Date: Thu, 9 Oct 2025 05:09:46 +0000 Subject: [PATCH] test: add validation test for duplicate device request names --- .../resourceclaim/declarative_validation_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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++ {