Test PutObject using a large data to trigger multipart readat
()
| 3728 | |
| 3729 | // Test PutObject using a large data to trigger multipart readat |
| 3730 | func testPutObjectWithMetadata() { |
| 3731 | // initialize logging params |
| 3732 | startTime := time.Now() |
| 3733 | testName := getFuncName() |
| 3734 | function := "PutObject(bucketName, objectName, reader,size, opts)" |
| 3735 | args := map[string]interface{}{ |
| 3736 | "bucketName": "", |
| 3737 | "objectName": "", |
| 3738 | "opts": "minio.PutObjectOptions{UserMetadata: metadata, Progress: progress}", |
| 3739 | } |
| 3740 | |
| 3741 | if !isFullMode() { |
| 3742 | logIgnored(testName, function, args, startTime, "Skipping functional tests for short/quick runs") |
| 3743 | return |
| 3744 | } |
| 3745 | |
| 3746 | c, err := NewClient(ClientConfig{}) |
| 3747 | if err != nil { |
| 3748 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 3749 | return |
| 3750 | } |
| 3751 | |
| 3752 | // Generate a new random bucket name. |
| 3753 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 3754 | args["bucketName"] = bucketName |
| 3755 | |
| 3756 | // Make a new bucket. |
| 3757 | err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}) |
| 3758 | if err != nil { |
| 3759 | logError(testName, function, args, startTime, "", "Make bucket failed", err) |
| 3760 | return |
| 3761 | } |
| 3762 | |
| 3763 | defer cleanupBucket(bucketName, c) |
| 3764 | |
| 3765 | bufSize := dataFileMap["datafile-129-MB"] |
| 3766 | reader := getDataReader("datafile-129-MB") |
| 3767 | defer reader.Close() |
| 3768 | |
| 3769 | // Save the data |
| 3770 | objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "") |
| 3771 | args["objectName"] = objectName |
| 3772 | |
| 3773 | // Object custom metadata |
| 3774 | customContentType := "custom/contenttype" |
| 3775 | |
| 3776 | args["metadata"] = map[string][]string{ |
| 3777 | "Content-Type": {customContentType}, |
| 3778 | "X-Amz-Meta-CustomKey": {"extra spaces in value"}, |
| 3779 | } |
| 3780 | |
| 3781 | _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{ |
| 3782 | ContentType: customContentType, |
| 3783 | }) |
| 3784 | if err != nil { |
| 3785 | logError(testName, function, args, startTime, "", "PutObject failed", err) |
| 3786 | return |
| 3787 | } |
no test coverage detected
searching dependent graphs…