diff --git a/pool/tree/pool.go b/pool/tree/pool.go index 28cc98b..2c55351 100644 --- a/pool/tree/pool.go +++ b/pool/tree/pool.go @@ -599,7 +599,7 @@ func handleError(msg string, err error) error { } if strings.Contains(err.Error(), "not found") { return fmt.Errorf("%w: %s", ErrNodeNotFound, err.Error()) - } else if strings.Contains(err.Error(), "is denied by") { + } else if strings.Contains(err.Error(), "denied") { return fmt.Errorf("%w: %s", ErrNodeAccessDenied, err.Error()) } return fmt.Errorf("%s: %w", msg, err) diff --git a/pool/tree/pool_test.go b/pool/tree/pool_test.go index f85b656..c2e50eb 100644 --- a/pool/tree/pool_test.go +++ b/pool/tree/pool_test.go @@ -5,6 +5,7 @@ import ( "errors" "testing" + apistatus "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/client/status" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/pool" grpcService "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/pool/tree/service" "github.com/stretchr/testify/require" @@ -68,6 +69,10 @@ func TestHandleError(t *testing.T) { err: errors.New("something is denied by some acl rule"), expectedError: ErrNodeAccessDenied, }, + { + err: &apistatus.APEManagerAccessDenied{}, + expectedError: ErrNodeAccessDenied, + }, } { t.Run("", func(t *testing.T) { err := handleError("err message", tc.err)