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

Function testStorageClassMetadataCopyObject

functional_tests.go:12157–12270  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

12155}
12156
12157func testStorageClassMetadataCopyObject() {
12158 // initialize logging params
12159 startTime := time.Now()
12160 function := "testStorageClassMetadataCopyObject()"
12161 args := map[string]interface{}{}
12162 testName := getFuncName()
12163
12164 c, err := NewClient(ClientConfig{})
12165 if err != nil {
12166 logError(testName, function, args, startTime, "", "MinIO v4 client object creation failed", err)
12167 return
12168 }
12169
12170 // Generate a new random bucket name.
12171 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
12172 // Make a new bucket in 'us-east-1' (source bucket).
12173 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
12174 if err != nil {
12175 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
12176 return
12177 }
12178
12179 defer cleanupBucket(bucketName, c)
12180
12181 fetchMeta := func(object string) (h http.Header) {
12182 objInfo, err := c.StatObject(context.Background(), bucketName, object, minio.StatObjectOptions{})
12183 args["bucket"] = bucketName
12184 args["object"] = object
12185 if err != nil {
12186 logError(testName, function, args, startTime, "", "Stat failed", err)
12187 return h
12188 }
12189 h = make(http.Header)
12190 for k, vs := range objInfo.Metadata {
12191 if strings.HasPrefix(strings.ToLower(k), "x-amz-storage-class") {
12192 for _, v := range vs {
12193 h.Add(k, v)
12194 }
12195 }
12196 }
12197 return h
12198 }
12199
12200 metadata := make(http.Header)
12201 metadata.Set("x-amz-storage-class", "REDUCED_REDUNDANCY")
12202
12203 emptyMetadata := make(http.Header)
12204
12205 const srcSize = 1024 * 1024
12206 buf := bytes.Repeat([]byte("abcde"), srcSize)
12207
12208 // Put an object with RRS Storage class
12209 _, err = c.PutObject(context.Background(), bucketName, "srcObjectRRSClass",
12210 bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{StorageClass: "REDUCED_REDUNDANCY"})
12211 if err != nil {
12212 logError(testName, function, args, startTime, "", "PutObject failed", err)
12213 return
12214 }

Callers 1

mainFunction · 0.85

Calls 12

MakeBucketMethod · 0.95
StatObjectMethod · 0.95
PutObjectMethod · 0.95
CopyObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logSuccessFunction · 0.85
randStringFunction · 0.70
AddMethod · 0.45
SetMethod · 0.45

Tested by

no test coverage detected