MCPcopy
hub / github.com/minio/minio-go / testRemoveMultipleObjectsWithResult

Function testRemoveMultipleObjectsWithResult

functional_tests.go:4437–4552  ·  view source on GitHub ↗

Test removing multiple objects and check for results

()

Source from the content-addressed store, hash-verified

4435
4436// Test removing multiple objects and check for results
4437func testRemoveMultipleObjectsWithResult() {
4438 // initialize logging params
4439 startTime := time.Now()
4440 testName := getFuncName()
4441 function := "RemoveObjects(bucketName, objectsCh)"
4442 args := map[string]interface{}{
4443 "bucketName": "",
4444 }
4445
4446 c, err := NewClient(ClientConfig{})
4447 if err != nil {
4448 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
4449 return
4450 }
4451
4452 // Generate a new random bucket name.
4453 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
4454 args["bucketName"] = bucketName
4455
4456 // Make a new bucket.
4457 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1", ObjectLocking: true})
4458 if err != nil {
4459 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
4460 return
4461 }
4462
4463 defer cleanupVersionedBucket(bucketName, c)
4464
4465 buf := []byte("a")
4466
4467 nrObjects := 10
4468 nrLockedObjects := 5
4469
4470 objectsCh := make(chan minio.ObjectInfo)
4471
4472 go func() {
4473 defer close(objectsCh)
4474 // Upload objects and send them to objectsCh
4475 for i := 0; i < nrObjects; i++ {
4476 objectName := "sample" + strconv.Itoa(i) + ".txt"
4477 info, err := c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), 1,
4478 minio.PutObjectOptions{ContentType: "application/octet-stream"})
4479 if err != nil {
4480 logError(testName, function, args, startTime, "", "PutObject failed", err)
4481 return
4482 }
4483 if i < nrLockedObjects {
4484 // t := time.Date(2130, time.April, 25, 14, 0, 0, 0, time.UTC)
4485 t := time.Now().Add(5 * time.Minute)
4486 m := minio.RetentionMode(minio.Governance)
4487 opts := minio.PutObjectRetentionOptions{
4488 GovernanceBypass: false,
4489 RetainUntilDate: &t,
4490 Mode: &m,
4491 VersionID: info.VersionID,
4492 }
4493 err = c.PutObjectRetention(context.Background(), bucketName, objectName, opts)
4494 if err != nil {

Callers 1

mainFunction · 0.85

Calls 11

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
PutObjectRetentionMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupVersionedBucketFunction · 0.85
logSuccessFunction · 0.85
randStringFunction · 0.70
AddMethod · 0.45

Tested by

no test coverage detected