Skip to content

Commit d4717a2

Browse files
committed
Propagate patch directive decode errors
Signed-off-by: kahirokunn <okinakahiro@gmail.com>
1 parent 4f98086 commit d4717a2

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

pkg/reconciler/common/patches.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ func validatePatchDirectives(patchType base.PatchType, patchJSON []byte) error {
245245
if patchType != base.StrategicMergePatchType {
246246
var patchDocument interface{}
247247
if err := json.Unmarshal(patchJSON, &patchDocument); err != nil {
248-
return nil
248+
return fmt.Errorf("decode patch document: %w", err)
249249
}
250250
if containsPatchDirective(patchDocument) {
251251
return errors.New("$patch directive is only supported for the strategic merge patch type")

pkg/reconciler/common/patches_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,6 +526,17 @@ spec:
526526
}
527527
}
528528

529+
func TestValidatePatchDirectivesReturnsDecodeError(t *testing.T) {
530+
for _, patchType := range []base.PatchType{base.JSONPatchType, base.MergePatchType} {
531+
t.Run(string(patchType), func(t *testing.T) {
532+
err := validatePatchDirectives(patchType, []byte(`{`))
533+
if err == nil || !strings.Contains(err.Error(), "decode patch document") {
534+
t.Fatalf("validatePatchDirectives() = %v, want decode patch document error", err)
535+
}
536+
})
537+
}
538+
}
539+
529540
func TestResourcePatchRunsAfterBuiltInTransforms(t *testing.T) {
530541
replicas := int32(5)
531542
instance := &v1beta1.KnativeServing{

0 commit comments

Comments
 (0)