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

Function testGetObjectReadAtWhenEOFWasReached

functional_tests.go:5669–5769  ·  view source on GitHub ↗

Reproduces issue https://github.com/minio/minio-go/issues/1137

()

Source from the content-addressed store, hash-verified

5667
5668// Reproduces issue https://github.com/minio/minio-go/issues/1137
5669func testGetObjectReadAtWhenEOFWasReached() {
5670 // initialize logging params
5671 startTime := time.Now()
5672 testName := getFuncName()
5673 function := "GetObject(bucketName, objectName)"
5674 args := map[string]interface{}{}
5675
5676 c, err := NewClient(ClientConfig{})
5677 if err != nil {
5678 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
5679 return
5680 }
5681
5682 // Generate a new random bucket name.
5683 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
5684 args["bucketName"] = bucketName
5685
5686 // Make a new bucket.
5687 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
5688 if err != nil {
5689 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
5690 return
5691 }
5692
5693 defer cleanupBucket(bucketName, c)
5694
5695 // Generate 33K of data.
5696 bufSize := dataFileMap["datafile-33-kB"]
5697 reader := getDataReader("datafile-33-kB")
5698 defer reader.Close()
5699
5700 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
5701 args["objectName"] = objectName
5702
5703 buf, err := io.ReadAll(reader)
5704 if err != nil {
5705 logError(testName, function, args, startTime, "", "ReadAll failed", err)
5706 return
5707 }
5708
5709 // Save the data
5710 _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{ContentType: "binary/octet-stream"})
5711 if err != nil {
5712 logError(testName, function, args, startTime, "", "PutObject failed", err)
5713 return
5714 }
5715
5716 // read the data back
5717 r, err := c.GetObject(context.Background(), bucketName, objectName, minio.GetObjectOptions{})
5718 if err != nil {
5719 logError(testName, function, args, startTime, "", "PutObject failed", err)
5720 return
5721 }
5722
5723 // read directly
5724 buf1 := make([]byte, len(buf))
5725 buf2 := make([]byte, 512)
5726

Callers 1

mainFunction · 0.85

Calls 15

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
GetObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
getDataReaderFunction · 0.85
logSuccessFunction · 0.85
EqualMethod · 0.80
StatMethod · 0.80
ReadAtMethod · 0.80

Tested by

no test coverage detected