(c *minio.Client)
| 11762 | } |
| 11763 | |
| 11764 | func testUserMetadataCopyingWrapper(c *minio.Client) { |
| 11765 | // initialize logging params |
| 11766 | startTime := time.Now() |
| 11767 | testName := getFuncName() |
| 11768 | function := "CopyObject(destination, source)" |
| 11769 | args := map[string]interface{}{} |
| 11770 | |
| 11771 | // Generate a new random bucket name. |
| 11772 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 11773 | // Make a new bucket in 'us-east-1' (source bucket). |
| 11774 | err := c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}) |
| 11775 | if err != nil { |
| 11776 | logError(testName, function, args, startTime, "", "MakeBucket failed", err) |
| 11777 | return |
| 11778 | } |
| 11779 | |
| 11780 | defer cleanupBucket(bucketName, c) |
| 11781 | |
| 11782 | fetchMeta := func(object string) (h http.Header) { |
| 11783 | objInfo, err := c.StatObject(context.Background(), bucketName, object, minio.StatObjectOptions{}) |
| 11784 | if err != nil { |
| 11785 | logError(testName, function, args, startTime, "", "Stat failed", err) |
| 11786 | return h |
| 11787 | } |
| 11788 | h = make(http.Header) |
| 11789 | for k, vs := range objInfo.Metadata { |
| 11790 | if strings.HasPrefix(strings.ToLower(k), "x-amz-meta-") { |
| 11791 | h.Add(k, vs[0]) |
| 11792 | } |
| 11793 | } |
| 11794 | return h |
| 11795 | } |
| 11796 | |
| 11797 | // 1. create a client encrypted object to copy by uploading |
| 11798 | const srcSize = 1024 * 1024 |
| 11799 | buf := bytes.Repeat([]byte("abcde"), srcSize) // gives a buffer of 5MiB |
| 11800 | metadata := make(http.Header) |
| 11801 | metadata.Set("x-amz-meta-myheader", "myvalue") |
| 11802 | m := make(map[string]string) |
| 11803 | m["x-amz-meta-myheader"] = "myvalue" |
| 11804 | _, err = c.PutObject(context.Background(), bucketName, "srcObject", |
| 11805 | bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{UserMetadata: m}) |
| 11806 | if err != nil { |
| 11807 | logError(testName, function, args, startTime, "", "PutObjectWithMetadata failed", err) |
| 11808 | return |
| 11809 | } |
| 11810 | if !reflect.DeepEqual(metadata, fetchMeta("srcObject")) { |
| 11811 | logError(testName, function, args, startTime, "", "Metadata match failed", err) |
| 11812 | return |
| 11813 | } |
| 11814 | |
| 11815 | // 2. create source |
| 11816 | src := minio.CopySrcOptions{ |
| 11817 | Bucket: bucketName, |
| 11818 | Object: "srcObject", |
| 11819 | } |
| 11820 | |
| 11821 | // 2.1 create destination with metadata set |
no test coverage detected