diff --git a/pkg/registry/core/replicationcontroller/declarative_validation_test.go b/pkg/registry/core/replicationcontroller/declarative_validation_test.go index 441b4d629a3..099b0402f42 100644 --- a/pkg/registry/core/replicationcontroller/declarative_validation_test.go +++ b/pkg/registry/core/replicationcontroller/declarative_validation_test.go @@ -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 + } +}