Skip to content

Commit c1bab74

Browse files
committed
ING-1191: Run and make invalid bucket name tests pass
1 parent 8668db7 commit c1bab74

4 files changed

Lines changed: 32 additions & 23 deletions

File tree

gateway/dataimpl/server_v1/bucketadminserver.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,10 +316,15 @@ func (s *BucketAdminServer) UpdateBucket(
316316

317317
bucket, err := agent.GetBucket(ctx, &cbmgmtx.GetBucketOptions{
318318
BucketName: in.BucketName,
319+
OnBehalfOf: oboInfo,
319320
})
320321
if err != nil {
321322
if errors.Is(err, cbmgmtx.ErrBucketNotFound) {
322323
return nil, s.errorHandler.NewBucketMissingStatus(err, in.BucketName).Err()
324+
} else if errors.Is(err, cbmgmtx.ErrServerInvalidArg) {
325+
return nil, s.errorHandler.NewBucketInvalidArgStatus(err, "", in.BucketName).Err()
326+
} else if errors.Is(err, cbmgmtx.ErrAccessDenied) {
327+
return nil, s.errorHandler.NewBucketAccessDeniedStatus(err, in.BucketName).Err()
323328
}
324329
return nil, s.errorHandler.NewGenericStatus(err).Err()
325330
}
@@ -430,6 +435,8 @@ func (s *BucketAdminServer) DeleteBucket(
430435
return nil, s.errorHandler.NewBucketMissingStatus(err, in.BucketName).Err()
431436
} else if errors.Is(err, cbmgmtx.ErrAccessDenied) {
432437
return nil, s.errorHandler.NewBucketAccessDeniedStatus(err, in.BucketName).Err()
438+
} else if errors.Is(err, cbmgmtx.ErrServerInvalidArg) {
439+
return nil, s.errorHandler.NewBucketInvalidArgStatus(err, "", in.BucketName).Err()
433440
}
434441
return nil, s.errorHandler.NewGenericStatus(err).Err()
435442
}
@@ -465,6 +472,8 @@ func (s *BucketAdminServer) FlushBucket(
465472
return nil, s.errorHandler.NewBucketFlushDisabledStatus(err, in.BucketName).Err()
466473
} else if errors.Is(err, cbmgmtx.ErrAccessDenied) {
467474
return nil, s.errorHandler.NewBucketAccessDeniedStatus(err, in.BucketName).Err()
475+
} else if errors.Is(err, cbmgmtx.ErrServerInvalidArg) {
476+
return nil, s.errorHandler.NewBucketInvalidArgStatus(err, "", in.BucketName).Err()
468477
}
469478
return nil, s.errorHandler.NewGenericStatus(err).Err()
470479
}

gateway/test/bucket_mgmt_test.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,22 @@ type commonBucketMgmtErrorTestData struct {
2424

2525
func (s *GatewayOpsTestSuite) RunCommonBucketMgmtErrorCases(
2626
fn func(opts *commonBucketMgmtErrorTestData) (interface{}, error),
27+
specialCharsExpectedCode codes.Code,
2728
) {
28-
// TODO - ING-1191
29-
// s.Run("BlankBucketName", func() {
30-
// _, err := fn(&commonBucketMgmtErrorTestData{
31-
// BucketName: "",
32-
// Creds: s.basicRpcCreds,
33-
// })
34-
// assertRpcStatus(s.T(), err, codes.InvalidArgument)
35-
// })
36-
// s.Run("BucketNameSpecialChars", func() {
37-
// _, err := fn(&commonBucketMgmtErrorTestData{
38-
// BucketName: "%?#",
39-
// Creds: s.basicRpcCreds,
40-
// })
41-
// assertRpcStatus(s.T(), err, codes.InvalidArgument)
42-
// })
29+
s.Run("BlankBucketName", func() {
30+
_, err := fn(&commonBucketMgmtErrorTestData{
31+
BucketName: "",
32+
Creds: s.basicRpcCreds,
33+
})
34+
assertRpcStatus(s.T(), err, codes.InvalidArgument)
35+
})
36+
s.Run("BucketNameSpecialChars", func() {
37+
_, err := fn(&commonBucketMgmtErrorTestData{
38+
BucketName: "%?#",
39+
Creds: s.basicRpcCreds,
40+
})
41+
assertRpcStatus(s.T(), err, specialCharsExpectedCode)
42+
})
4343
s.Run("BadCredentials", func() {
4444
_, err := fn(&commonBucketMgmtErrorTestData{
4545
BucketName: uuid.NewString()[:6],
@@ -484,7 +484,7 @@ func (s *GatewayOpsTestSuite) TestCreateBucket() {
484484
return adminClient.CreateBucket(context.Background(), &admin_bucket_v1.CreateBucketRequest{
485485
BucketName: opts.BucketName,
486486
}, grpc.PerRPCCredentials(opts.Creds))
487-
})
487+
}, codes.InvalidArgument)
488488
}
489489

490490
func (s *GatewayOpsTestSuite) TestDeleteBucket() {
@@ -545,7 +545,7 @@ func (s *GatewayOpsTestSuite) TestDeleteBucket() {
545545
return adminClient.DeleteBucket(context.Background(), &admin_bucket_v1.DeleteBucketRequest{
546546
BucketName: opts.BucketName,
547547
}, grpc.PerRPCCredentials(opts.Creds))
548-
})
548+
}, codes.NotFound)
549549
}
550550

551551
func (s *GatewayOpsTestSuite) TestFlushBucket() {
@@ -623,7 +623,7 @@ func (s *GatewayOpsTestSuite) TestFlushBucket() {
623623
return adminClient.FlushBucket(context.Background(), &admin_bucket_v1.FlushBucketRequest{
624624
BucketName: opts.BucketName,
625625
}, grpc.PerRPCCredentials(opts.Creds))
626-
})
626+
}, codes.NotFound)
627627
}
628628

629629
func (s *GatewayOpsTestSuite) TestFlushBucket_FlushDisabled() {
@@ -1024,9 +1024,9 @@ func (s *GatewayOpsTestSuite) TestUpdateBucket() {
10241024
s.RunCommonBucketMgmtErrorCases(
10251025
func(opts *commonBucketMgmtErrorTestData) (interface{}, error) {
10261026
return adminClient.UpdateBucket(context.Background(), &admin_bucket_v1.UpdateBucketRequest{
1027-
BucketName: couchbaseBucket,
1027+
BucketName: opts.BucketName,
10281028
}, grpc.PerRPCCredentials(opts.Creds))
1029-
})
1029+
}, codes.NotFound)
10301030
}
10311031

10321032
func defaultCouchbaseBucket() *admin_bucket_v1.ListBucketsResponse_Bucket {

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ require (
1010
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azsecrets v0.12.0
1111
github.com/aws/aws-sdk-go-v2/config v1.28.8
1212
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.9
13-
github.com/couchbase/gocbcorex v0.0.0-20251204153318-b42d33a14127
13+
github.com/couchbase/gocbcorex v0.0.0-20251211093207-b70962cb9a74
1414
github.com/couchbase/goprotostellar v1.0.3-0.20251126093204-a7d8eefcab84
1515
github.com/couchbaselabs/gocbconnstr v1.0.5
1616
github.com/couchbaselabs/gocbconnstr/v2 v2.0.0-20240607131231-fb385523de28

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL
6767
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
6868
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
6969
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
70-
github.com/couchbase/gocbcorex v0.0.0-20251204153318-b42d33a14127 h1:z0hgGcW0EHKtan6SMgquVr8vUFimsxEQuVYSH5AKJ48=
71-
github.com/couchbase/gocbcorex v0.0.0-20251204153318-b42d33a14127/go.mod h1:tlLBmDl/J9iUCImvGvzIr1sLhHm8+KWaSfkofmErCMQ=
70+
github.com/couchbase/gocbcorex v0.0.0-20251211093207-b70962cb9a74 h1:GYhYqa+PebhkeA45W/wrM6PiswM0PWQ6svDJY1jrghs=
71+
github.com/couchbase/gocbcorex v0.0.0-20251211093207-b70962cb9a74/go.mod h1:tlLBmDl/J9iUCImvGvzIr1sLhHm8+KWaSfkofmErCMQ=
7272
github.com/couchbase/goprotostellar v1.0.3-0.20251126093204-a7d8eefcab84 h1:K7thd+YLU/5SUdeoJ+zN7aEwbrWgG8+K70N4RmdOtNw=
7373
github.com/couchbase/goprotostellar v1.0.3-0.20251126093204-a7d8eefcab84/go.mod h1:X58ot5FRqlBTBkwG/oI4klunpu4MApjGktheqeRWQw0=
7474
github.com/couchbaselabs/gocbconnstr v1.0.5 h1:e0JokB5qbcz7rfnxEhNRTKz8q1svoRvDoZihsiwNigA=

0 commit comments

Comments
 (0)