From b30e2458d815fd7f3b05d426287669559c5b608e Mon Sep 17 00:00:00 2001 From: Somtochi Onyekwere Date: Fri, 8 Apr 2022 16:26:52 +0100 Subject: [PATCH] return actual error when regex.Compile fails Signed-off-by: Somtochi Onyekwere --- internal/server/event_handlers.go | 4 ++-- internal/server/event_handlers_test.go | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/server/event_handlers.go b/internal/server/event_handlers.go index 9da68c8..4fa578a 100644 --- a/internal/server/event_handlers.go +++ b/internal/server/event_handlers.go @@ -326,8 +326,8 @@ func redactTokenFromError(err error, token string, log logr.Logger) error { re, compileErr := regexp.Compile(fmt.Sprintf("%s*", token)) if compileErr != nil { - log.Error(compileErr, "error redacting token from error message") - return err + newErrStr := fmt.Sprintf("error redacting token from error message: %s", compileErr) + return errors.New(newErrStr) } redacted := re.ReplaceAllString(err.Error(), "*****") diff --git a/internal/server/event_handlers_test.go b/internal/server/event_handlers_test.go index 42c892e..b8429f5 100644 --- a/internal/server/event_handlers_test.go +++ b/internal/server/event_handlers_test.go @@ -2,6 +2,7 @@ package server import ( "errors" + "strings" "testing" "github.com/fluxcd/pkg/runtime/logger" @@ -54,7 +55,7 @@ func TestRedactTokenFromError(t *testing.T) { name: "return error on invalid UTF-8 string", token: "\x18\xd0\xfa\xab\xb2\x93\xbb;\xc0l\xf4\xdc", originalErrStr: `Cannot post to github with token \x18\xd0\xfa\xab\xb2\x93\xbb;\xc0l\xf4\xdc\\n`, - expectedErrStr: `Cannot post to github with token \x18\xd0\xfa\xab\xb2\x93\xbb;\xc0l\xf4\xdc\\n`, + expectedErrStr: `error redacting token from error message`, }, } @@ -65,7 +66,7 @@ func TestRedactTokenFromError(t *testing.T) { t.Fatalf("error shouldn't be nil") } - if err.Error() != tt.expectedErrStr { + if !strings.Contains(err.Error(), tt.expectedErrStr) { t.Errorf("expected error string '%s' but got '%s'", tt.expectedErrStr, err) }