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

Function testFGetObjectContext

functional_tests.go:13004–13075  ·  view source on GitHub ↗

Test get object with FGetObject with a user provided context

()

Source from the content-addressed store, hash-verified

13002
13003// Test get object with FGetObject with a user provided context
13004func testFGetObjectContext() {
13005 // initialize logging params
13006 startTime := time.Now()
13007 testName := getFuncName()
13008 function := "FGetObject(ctx, bucketName, objectName, fileName)"
13009 args := map[string]interface{}{
13010 "ctx": "",
13011 "bucketName": "",
13012 "objectName": "",
13013 "fileName": "",
13014 }
13015
13016 c, err := NewClient(ClientConfig{})
13017 if err != nil {
13018 logError(testName, function, args, startTime, "", "MinIO client v4 object creation failed", err)
13019 return
13020 }
13021
13022 // Generate a new random bucket name.
13023 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
13024 args["bucketName"] = bucketName
13025
13026 // Make a new bucket.
13027 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
13028 if err != nil {
13029 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
13030 return
13031 }
13032
13033 defer cleanupBucket(bucketName, c)
13034
13035 bufSize := dataFileMap["datafile-1-MB"]
13036 reader := getDataReader("datafile-1-MB")
13037 defer reader.Close()
13038 // Save the data
13039 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
13040 args["objectName"] = objectName
13041
13042 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{ContentType: "binary/octet-stream"})
13043 if err != nil {
13044 logError(testName, function, args, startTime, "", "PutObject failed", err)
13045 return
13046 }
13047
13048 ctx, cancel := context.WithTimeout(context.Background(), 1*time.Nanosecond)
13049 args["ctx"] = ctx
13050 defer cancel()
13051
13052 fileName := "tempfile-context"
13053 args["fileName"] = fileName
13054 // Read the data back
13055 err = c.FGetObject(ctx, bucketName, objectName, fileName+"-f", minio.GetObjectOptions{})
13056 if err == nil {
13057 logError(testName, function, args, startTime, "", "FGetObject should fail on short timeout", err)
13058 return
13059 }
13060 ctx, cancel = context.WithTimeout(context.Background(), 1*time.Hour)
13061 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