Skip to content

Commit c1dde88

Browse files
committed
ING-1328: Handle error when eviction policy invalid for bucket
ING-1328: Uncomment tests that have been fixed in gocbcorex ING-1328: Handle invalid arg errs when updating bucket ING-1328: Handle error returned when bad credentials are used
1 parent 319016e commit c1dde88

File tree

5 files changed

+218
-197
lines changed

5 files changed

+218
-197
lines changed

gateway/dataimpl/server_v1/bucketadminserver.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,8 @@ func (s *BucketAdminServer) CreateBucket(
284284
return nil, s.errorHandler.NewBucketExistsStatus(err, in.BucketName).Err()
285285
} else if errors.Is(err, cbmgmtx.ErrServerInvalidArg) {
286286
return nil, s.errorHandler.NewBucketInvalidArgStatus(err, "", in.BucketName).Err()
287+
} else if errors.Is(err, cbmgmtx.ErrAccessDenied) {
288+
return nil, s.errorHandler.NewBucketAccessDeniedStatus(err, in.BucketName).Err()
287289
}
288290
return nil, s.errorHandler.NewGenericStatus(err).Err()
289291
}
@@ -387,6 +389,10 @@ func (s *BucketAdminServer) UpdateBucket(
387389
if err != nil {
388390
if errors.Is(err, cbmgmtx.ErrBucketNotFound) {
389391
return nil, s.errorHandler.NewBucketMissingStatus(err, in.BucketName).Err()
392+
} else if errors.Is(err, cbmgmtx.ErrServerInvalidArg) {
393+
return nil, s.errorHandler.NewBucketInvalidArgStatus(err, "", in.BucketName).Err()
394+
} else if errors.Is(err, cbmgmtx.ErrAccessDenied) {
395+
return nil, s.errorHandler.NewBucketAccessDeniedStatus(err, in.BucketName).Err()
390396
}
391397
return nil, s.errorHandler.NewGenericStatus(err).Err()
392398
}
@@ -418,6 +424,8 @@ func (s *BucketAdminServer) DeleteBucket(
418424
if err != nil {
419425
if errors.Is(err, cbmgmtx.ErrBucketNotFound) {
420426
return nil, s.errorHandler.NewBucketMissingStatus(err, in.BucketName).Err()
427+
} else if errors.Is(err, cbmgmtx.ErrAccessDenied) {
428+
return nil, s.errorHandler.NewBucketAccessDeniedStatus(err, in.BucketName).Err()
421429
}
422430
return nil, s.errorHandler.NewGenericStatus(err).Err()
423431
}
@@ -451,6 +459,8 @@ func (s *BucketAdminServer) FlushBucket(
451459
return nil, s.errorHandler.NewBucketMissingStatus(err, in.BucketName).Err()
452460
} else if errors.Is(err, cbmgmtx.ErrFlushDisabled) {
453461
return nil, s.errorHandler.NewBucketFlushDisabledStatus(err, in.BucketName).Err()
462+
} else if errors.Is(err, cbmgmtx.ErrAccessDenied) {
463+
return nil, s.errorHandler.NewBucketAccessDeniedStatus(err, in.BucketName).Err()
454464
}
455465
return nil, s.errorHandler.NewGenericStatus(err).Err()
456466
}

gateway/dataimpl/server_v1/errorhandler.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,19 @@ func (e ErrorHandler) NewBucketInvalidArgStatus(baseErr error, msg string, bucke
188188
return st
189189
}
190190

191+
func (e ErrorHandler) NewBucketAccessDeniedStatus(baseErr error, bucketName string) *status.Status {
192+
msg := "No permissions to perform bucket management operation."
193+
st := status.New(codes.PermissionDenied, msg)
194+
195+
st = e.tryAttachStatusDetails(
196+
st, &epb.ResourceInfo{
197+
ResourceType: "bucket",
198+
ResourceName: bucketName,
199+
Description: "",
200+
})
201+
return st
202+
}
203+
191204
func (e ErrorHandler) NewCollectionInvalidArgStatus(baseErr error, msg string, bucket, scope, collection string) *status.Status {
192205
if msg == "" {
193206
msg = "invalid argument"

0 commit comments

Comments
 (0)