diff --git a/pkg/build/api/validation/validation.go b/pkg/build/api/validation/validation.go index 894fde6568cb..b183bdf01ab9 100644 --- a/pkg/build/api/validation/validation.go +++ b/pkg/build/api/validation/validation.go @@ -240,8 +240,6 @@ func validateImageChange(imageChange *buildapi.ImageChangeTrigger) errs.Validati allErrs = append(allErrs, errs.NewFieldRequired("image")) } if len(imageChange.From.Name) == 0 { - allErrs = append(allErrs, errs.NewFieldRequired("from")) - } else if len(imageChange.From.Name) == 0 { allErrs = append(allErrs, errs.ValidationErrorList{errs.NewFieldRequired("name")}.Prefix("from")...) } return allErrs diff --git a/pkg/build/api/validation/validation_test.go b/pkg/build/api/validation/validation_test.go index 75f3c0e67f46..621fdbdf2af7 100644 --- a/pkg/build/api/validation/validation_test.go +++ b/pkg/build/api/validation/validation_test.go @@ -505,3 +505,66 @@ func TestValidateTrigger(t *testing.T) { } } } + +func TestValidateImageChange(t *testing.T) { + tests := []struct { + name string + ict *buildapi.ImageChangeTrigger + expectedErrNum int + }{ + { + name: "Pass", + ict: &buildapi.ImageChangeTrigger{ + Image: "openshift", + From: kapi.ObjectReference{ + Name: "default/repo", + }, + }, + expectedErrNum: 0, + }, + { + name: "Missing image ref", + ict: &buildapi.ImageChangeTrigger{ + Image: "", + From: kapi.ObjectReference{ + Name: "default/repo", + }, + }, + expectedErrNum: 1, + }, + { + name: "Missing From ref", + ict: &buildapi.ImageChangeTrigger{ + Image: "openshift", + From: kapi.ObjectReference{ + Name: "", + }, + }, + expectedErrNum: 1, + }, + { + name: "Both missing refs", + ict: &buildapi.ImageChangeTrigger{ + Image: "", + From: kapi.ObjectReference{ + Name: "", + }, + }, + expectedErrNum: 2, + }, + { + name: "Undefined from field", + ict: &buildapi.ImageChangeTrigger{ + Image: "openshift", + }, + expectedErrNum: 1, + }, + } + + for _, test := range tests { + got := len(validateImageChange(test.ict)) + if test.expectedErrNum != got { + t.Errorf("%s: Expected %d error(s), got %d", test.name, test.expectedErrNum, got) + } + } +}