Test removing multiple objects and check for results
()
| 4539 | |
| 4540 | // Test removing multiple objects and check for results |
| 4541 | func 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 { |
no test coverage detected