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

Function testPutObjectReadAt

functional_tests.go:605–687  ·  functional_tests.go::testPutObjectReadAt

Test PutObject using a large data to trigger multipart readat

()

Source from the content-addressed store, hash-verified

603
604// Test PutObject using a large data to trigger multipart readat
605func testPutObjectReadAt() {
606 // initialize logging params
607 startTime := time.Now()
608 testName := getFuncName()
609 function := "PutObject(bucketName, objectName, reader, opts)"
610 args := map[string]interface{}{
611 "bucketName": "",
612 "objectName": "",
613 "opts": "objectContentType",
614 }
615
616 c, err := NewClient(ClientConfig{})
617 if err != nil {
618 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
619 return
620 }
621
622 // Generate a new random bucket name.
623 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
624 args["bucketName"] = bucketName
625
626 // Make a new bucket.
627 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
628 if err != nil {
629 logError(testName, function, args, startTime, "", "Make bucket failed", err)
630 return
631 }
632
633 defer cleanupBucket(bucketName, c)
634
635 bufSize := dataFileMap["datafile-129-MB"]
636 reader := getDataReader("datafile-129-MB")
637 defer reader.Close()
638
639 // Save the data
640 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
641 args["objectName"] = objectName
642
643 // Object content type
644 objectContentType := "binary/octet-stream"
645 args["objectContentType"] = objectContentType
646
647 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{ContentType: objectContentType})
648 if err != nil {
649 logError(testName, function, args, startTime, "", "PutObject failed", err)
650 return
651 }
652
653 // Read the data back
654 r, err := c.GetObject(context.Background(), bucketName, objectName, minio.GetObjectOptions{})
655 if err != nil {
656 logError(testName, function, args, startTime, "", "Get Object failed", err)
657 return
658 }
659
660 st, err := r.Stat()
661 if err != nil {
662 logError(testName, function, args, startTime, "", "Stat Object failed", err)

Callers 1

mainFunction · 0.85

Calls 13

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
GetObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
getDataReaderFunction · 0.85
crcMatchesNameFunction · 0.85
logSuccessFunction · 0.85
StatMethod · 0.80
randStringFunction · 0.70

Tested by

no test coverage detected