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

Function testRemoveObjectsIter

functional_tests.go:14691–14797  ·  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

14689
14690// Test deleting multiple objects with object retention set in Governance mode, via iterators
14691func testRemoveObjectsIter() {
14692 // initialize logging params
14693 startTime := time.Now()
14694 testName := getFuncName()
14695 function := "RemoveObjects(bucketName, objectsCh, opts)"
14696 args := map[string]interface{}{
14697 "bucketName": "",
14698 "objectPrefix": "",
14699 "recursive": "true",
14700 }
14701
14702 c, err := NewClient(ClientConfig{})
14703 if err != nil {
14704 logError(testName, function, args, startTime, "", "MinIO client v4 object creation failed", err)
14705 return
14706 }
14707
14708 // Generate a new random bucket name.
14709 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
14710 args["bucketName"] = bucketName
14711 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
14712 args["objectName"] = objectName
14713
14714 // Make a new bucket.
14715 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1", ObjectLocking: true})
14716 if err != nil {
14717 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
14718 return
14719 }
14720
14721 bufSize := dataFileMap["datafile-129-MB"]
14722 reader := getDataReader("datafile-129-MB")
14723 defer reader.Close()
14724
14725 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{})
14726 if err != nil {
14727 logError(testName, function, args, startTime, "", "Error uploading object", err)
14728 return
14729 }
14730
14731 // Replace with smaller...
14732 bufSize = dataFileMap["datafile-10-kB"]
14733 reader = getDataReader("datafile-10-kB")
14734 defer reader.Close()
14735
14736 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{})
14737 if err != nil {
14738 logError(testName, function, args, startTime, "", "Error uploading object", err)
14739 }
14740
14741 t := time.Date(2030, time.April, 25, 14, 0, 0, 0, time.UTC)
14742 m := minio.RetentionMode(minio.Governance)
14743 opts := minio.PutObjectRetentionOptions{
14744 GovernanceBypass: false,
14745 RetainUntilDate: &t,
14746 Mode: &m,
14747 }
14748 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