Test get object with FGetObject with a user provided context
()
| 13106 | |
| 13107 | // Test get object with FGetObject with a user provided context |
| 13108 | func 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() |
no test coverage detected