MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / setXDCRBucketSetting

Method setXDCRBucketSetting

base/main_test_bucket_pool.go:555–584  ·  view source on GitHub ↗

setXDCRBucketSetting sets the bucket setting "enableCrossClusterVersioning" for mobile XDCR

(ctx context.Context, bucket Bucket)

Source from the content-addressed store, hash-verified

553
554// setXDCRBucketSetting sets the bucket setting "enableCrossClusterVersioning" for mobile XDCR
555func (tbp *TestBucketPool) setXDCRBucketSetting(ctx context.Context, bucket Bucket) {
556
557 tbp.Logf(ctx, "Setting crossClusterVersioningEnabled=true")
558
559 // retry for 1 minute to get this bucket setting, MB-63675
560 store, ok := AsCouchbaseBucketStore(bucket)
561 if !ok {
562 tbp.Fatalf(ctx, "unable to get server management endpoints. Underlying bucket type was not GoCBBucket")
563 }
564
565 posts := url.Values{}
566 posts.Add("enableCrossClusterVersioning", "true")
567
568 url := fmt.Sprintf("/pools/default/buckets/%s", store.GetName())
569 // retry for 1 minute to get this bucket setting, MB-63675
570 err, _ := RetryLoop(ctx, "setXDCRBucketSetting", func() (bool, error, interface{}) {
571 output, statusCode, err := store.MgmtRequest(ctx, http.MethodPost, url, "application/x-www-form-urlencoded", strings.NewReader(posts.Encode()))
572 if err != nil {
573 tbp.Fatalf(ctx, "request to mobile XDCR bucket setting failed, status code: %d error: %s output: %s", statusCode, err, string(output))
574 }
575 if statusCode != http.StatusOK {
576 err := fmt.Errorf("request to mobile XDCR bucket setting failed with status code, %d, output: %s", statusCode, string(output))
577 return true, err, nil
578 }
579 return false, nil, nil
580 }, CreateMaxDoublingSleeperFunc(200, 500, 500))
581 if err != nil {
582 tbp.Fatalf(ctx, "Couldn't set crossClusterVersioningEnabled: %v", err)
583 }
584}
585
586// createCollections will create a set of test collections on the bucket, if enabled...
587func (tbp *TestBucketPool) createCollections(ctx context.Context, bucket Bucket) {

Callers 1

createTestBucketsMethod · 0.95

Calls 10

LogfMethod · 0.95
FatalfMethod · 0.95
AsCouchbaseBucketStoreFunction · 0.85
RetryLoopFunction · 0.85
ErrorfMethod · 0.80
GetNameMethod · 0.65
MgmtRequestMethod · 0.65
EncodeMethod · 0.65
AddMethod · 0.45

Tested by

no test coverage detected