()
| 12155 | } |
| 12156 | |
| 12157 | func 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 | } |
no test coverage detected