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

Function testRemoveObjectsIter

functional_tests.go:14587–14693  ·  view source on GitHub ↗

Test deleting multiple objects with object retention set in Governance mode, via iterators

()

Source from the content-addressed store, hash-verified

14585
14586// Test deleting multiple objects with object retention set in Governance mode, via iterators
14587func testRemoveObjectsIter() {
14588 // initialize logging params
14589 startTime := time.Now()
14590 testName := getFuncName()
14591 function := "RemoveObjects(bucketName, objectsCh, opts)"
14592 args := map[string]interface{}{
14593 "bucketName": "",
14594 "objectPrefix": "",
14595 "recursive": "true",
14596 }
14597
14598 c, err := NewClient(ClientConfig{})
14599 if err != nil {
14600 logError(testName, function, args, startTime, "", "MinIO client v4 object creation failed", err)
14601 return
14602 }
14603
14604 // Generate a new random bucket name.
14605 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
14606 args["bucketName"] = bucketName
14607 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
14608 args["objectName"] = objectName
14609
14610 // Make a new bucket.
14611 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1", ObjectLocking: true})
14612 if err != nil {
14613 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
14614 return
14615 }
14616
14617 bufSize := dataFileMap["datafile-129-MB"]
14618 reader := getDataReader("datafile-129-MB")
14619 defer reader.Close()
14620
14621 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{})
14622 if err != nil {
14623 logError(testName, function, args, startTime, "", "Error uploading object", err)
14624 return
14625 }
14626
14627 // Replace with smaller...
14628 bufSize = dataFileMap["datafile-10-kB"]
14629 reader = getDataReader("datafile-10-kB")
14630 defer reader.Close()
14631
14632 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{})
14633 if err != nil {
14634 logError(testName, function, args, startTime, "", "Error uploading object", err)
14635 }
14636
14637 t := time.Date(2030, time.April, 25, 14, 0, 0, 0, time.UTC)
14638 m := minio.RetentionMode(minio.Governance)
14639 opts := minio.PutObjectRetentionOptions{
14640 GovernanceBypass: false,
14641 RetainUntilDate: &t,
14642 Mode: &m,
14643 }
14644 err = c.PutObjectRetention(context.Background(), bucketName, objectName, opts)

Callers 1

mainFunction · 0.85

Calls 13

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
PutObjectRetentionMethod · 0.95
ListObjectsIterMethod · 0.95
RemoveObjectsWithIterMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
getDataReaderFunction · 0.85
cleanupVersionedBucketFunction · 0.85
logSuccessFunction · 0.85
randStringFunction · 0.70

Tested by

no test coverage detected