Add declarative test cases for RC.Spec.MinReadySeconds

This commit is contained in:
Joe Betz 2025-03-12 19:07:34 -04:00
parent 177193ed19
commit f7296b31f0

View File

@ -68,6 +68,22 @@ func TestDeclarativeValidateForDeclarative(t *testing.T) {
field.Invalid(field.NewPath("spec.replicas"), nil, "").WithOrigin("minimum"),
},
},
// spec.minReadySeconds
"0 minReadySeconds": {
input: mkValidReplicationController(setSpecMinReadySeconds(0)),
},
"1 minReadySeconds": {
input: mkValidReplicationController(setSpecMinReadySeconds(1)),
},
"positive minReadySeconds": {
input: mkValidReplicationController(setSpecMinReadySeconds(100)),
},
"negative minReadySeconds": {
input: mkValidReplicationController(setSpecMinReadySeconds(-1)),
expectedErrs: field.ErrorList{
field.Invalid(field.NewPath("spec.minReadySeconds"), nil, "").WithOrigin("minimum"),
},
},
}
for k, tc := range testCases {
t.Run(k, func(t *testing.T) {
@ -148,6 +164,26 @@ func TestValidateUpdateForDeclarative(t *testing.T) {
field.Invalid(field.NewPath("spec.replicas"), nil, "").WithOrigin("minimum"),
},
},
// spec.minReadySeconds
"0 minReadySeconds": {
old: mkValidReplicationController(),
update: mkValidReplicationController(setSpecMinReadySeconds(0)),
},
"1 minReadySeconds": {
old: mkValidReplicationController(),
update: mkValidReplicationController(setSpecMinReadySeconds(1)),
},
"positive minReadySeconds": {
old: mkValidReplicationController(),
update: mkValidReplicationController(setSpecMinReadySeconds(3)),
},
"negative minReadySeconds": {
old: mkValidReplicationController(),
update: mkValidReplicationController(setSpecMinReadySeconds(-1)),
expectedErrs: field.ErrorList{
field.Invalid(field.NewPath("spec.minReadySeconds"), nil, "").WithOrigin("minimum"),
},
},
}
for k, tc := range testCases {
t.Run(k, func(t *testing.T) {
@ -227,3 +263,9 @@ func setSpecReplicas(val int32) func(rc *api.ReplicationController) {
rc.Spec.Replicas = ptr.To(val)
}
}
func setSpecMinReadySeconds(val int32) func(rc *api.ReplicationController) {
return func(rc *api.ReplicationController) {
rc.Spec.MinReadySeconds = val
}
}