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

Function testRemoveMultipleObjectsWithResult

functional_tests.go:4541–4656  ·  view source on GitHub ↗

Test removing multiple objects and check for results

()

Source from the content-addressed store, hash-verified

4539
4540// Test removing multiple objects and check for results
4541func testRemoveMultipleObjectsWithResult() {
4542 // initialize logging params
4543 startTime := time.Now()
4544 testName := getFuncName()
4545 function := "RemoveObjects(bucketName, objectsCh)"
4546 args := map[string]interface{}{
4547 "bucketName": "",
4548 }
4549
4550 c, err := NewClient(ClientConfig{})
4551 if err != nil {
4552 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
4553 return
4554 }
4555
4556 // Generate a new random bucket name.
4557 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
4558 args["bucketName"] = bucketName
4559
4560 // Make a new bucket.
4561 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1", ObjectLocking: true})
4562 if err != nil {
4563 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
4564 return
4565 }
4566
4567 defer cleanupVersionedBucket(bucketName, c)
4568
4569 buf := []byte("a")
4570
4571 nrObjects := 10
4572 nrLockedObjects := 5
4573
4574 objectsCh := make(chan minio.ObjectInfo)
4575
4576 go func() {
4577 defer close(objectsCh)
4578 // Upload objects and send them to objectsCh
4579 for i := 0; i < nrObjects; i++ {
4580 objectName := "sample" + strconv.Itoa(i) + ".txt"
4581 info, err := c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), 1,
4582 minio.PutObjectOptions{ContentType: "application/octet-stream"})
4583 if err != nil {
4584 logError(testName, function, args, startTime, "", "PutObject failed", err)
4585 return
4586 }
4587 if i < nrLockedObjects {
4588 // t := time.Date(2130, time.April, 25, 14, 0, 0, 0, time.UTC)
4589 t := time.Now().Add(5 * time.Minute)
4590 m := minio.RetentionMode(minio.Governance)
4591 opts := minio.PutObjectRetentionOptions{
4592 GovernanceBypass: false,
4593 RetainUntilDate: &t,
4594 Mode: &m,
4595 VersionID: info.VersionID,
4596 }
4597 err = c.PutObjectRetention(context.Background(), bucketName, objectName, opts)
4598 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