From dbbcdb72bf98d959b8de57137fb2cb3f06e9b14c Mon Sep 17 00:00:00 2001 From: Todd Date: Fri, 28 Apr 2023 10:03:08 -0700 Subject: [PATCH] Add match test for hashicorp and go 1.20 multi errors --- internal/errors/match_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/internal/errors/match_test.go b/internal/errors/match_test.go index 7c976ddae1..a37f6f9334 100644 --- a/internal/errors/match_test.go +++ b/internal/errors/match_test.go @@ -8,6 +8,7 @@ import ( stderrors "errors" "testing" + "github.com/hashicorp/go-multierror" "github.com/stretchr/testify/assert" ) @@ -281,6 +282,36 @@ func TestMatch(t *testing.T) { ), want: true, }, + { + name: "match on go multi error", + template: T(errInvalidFieldMask), + err: stderrors.Join(stdErr, errInvalidFieldMask), + want: true, + }, + { + name: "match on go multi error for specific code", + template: T(InvalidFieldMask), + err: stderrors.Join(stdErr, errInvalidFieldMask), + want: true, + }, + { + name: "match on go multi error both boundary errors", + template: T(errInvalidFieldMask), + err: stderrors.Join(errNotUnique, errInvalidFieldMask), + want: true, + }, + { + name: "match on hashicorp multi error", + template: T(errInvalidFieldMask), + err: multierror.Append(stdErr, errInvalidFieldMask), + want: true, + }, + { + name: "match on hashicorp multi error for specific code", + template: T(InvalidFieldMask), + err: multierror.Append(stdErr, errInvalidFieldMask), + want: true, + }, { name: "no match on Wrapped only stderror", template: T(stderrors.New("no match")),