mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-07-22 09:40:07 +00:00
test: add validation test for duplicate DeviceClaimConfiguration requests
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user