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

Function testPutObjectWithMetadata

functional_tests.go:3730–3823  ·  view source on GitHub ↗

Test PutObject using a large data to trigger multipart readat

()

Source from the content-addressed store, hash-verified

3728
3729// Test PutObject using a large data to trigger multipart readat
3730func 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 }

Callers 1

mainFunction · 0.85

Calls 15

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
GetObjectMethod · 0.95
getFuncNameFunction · 0.85
isFullModeFunction · 0.85
logIgnoredFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
getDataReaderFunction · 0.85
crcMatchesNameFunction · 0.85
logSuccessFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…