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")),