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

Function testFGetObjectContext

functional_tests.go:13108–13179  ·  view source on GitHub ↗

Test get object with FGetObject with a user provided context

()

Source from the content-addressed store, hash-verified

13106
13107// Test get object with FGetObject with a user provided context
13108func testFGetObjectContext() {
13109 // initialize logging params
13110 startTime := time.Now()
13111 testName := getFuncName()
13112 function := "FGetObject(ctx, bucketName, objectName, fileName)"
13113 args := map[string]interface{}{
13114 "ctx": "",
13115 "bucketName": "",
13116 "objectName": "",
13117 "fileName": "",
13118 }
13119
13120 c, err := NewClient(ClientConfig{})
13121 if err != nil {
13122 logError(testName, function, args, startTime, "", "MinIO client v4 object creation failed", err)
13123 return
13124 }
13125
13126 // Generate a new random bucket name.
13127 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
13128 args["bucketName"] = bucketName
13129
13130 // Make a new bucket.
13131 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
13132 if err != nil {
13133 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
13134 return
13135 }
13136
13137 defer cleanupBucket(bucketName, c)
13138
13139 bufSize := dataFileMap["datafile-1-MB"]
13140 reader := getDataReader("datafile-1-MB")
13141 defer reader.Close()
13142 // Save the data
13143 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
13144 args["objectName"] = objectName
13145
13146 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{ContentType: "binary/octet-stream"})
13147 if err != nil {
13148 logError(testName, function, args, startTime, "", "PutObject failed", err)
13149 return
13150 }
13151
13152 ctx, cancel := context.WithTimeout(context.Background(), 1*time.Nanosecond)
13153 args["ctx"] = ctx
13154 defer cancel()
13155
13156 fileName := "tempfile-context"
13157 args["fileName"] = fileName
13158 // Read the data back
13159 err = c.FGetObject(ctx, bucketName, objectName, fileName+"-f", minio.GetObjectOptions{})
13160 if err == nil {
13161 logError(testName, function, args, startTime, "", "FGetObject should fail on short timeout", err)
13162 return
13163 }
13164 ctx, cancel = context.WithTimeout(context.Background(), 1*time.Hour)
13165 defer cancel()

Callers 1

mainFunction · 0.85

Calls 12

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
FGetObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
getDataReaderFunction · 0.85
logSuccessFunction · 0.85
randStringFunction · 0.70
CloseMethod · 0.45
RemoveMethod · 0.45

Tested by

no test coverage detected