Tests FPutObject request when context cancels after timeout
()
| 4800 | |
| 4801 | // Tests FPutObject request when context cancels after timeout |
| 4802 | func testFPutObjectContext() { |
| 4803 | // initialize logging params |
| 4804 | startTime := time.Now() |
| 4805 | testName := getFuncName() |
| 4806 | function := "FPutObject(bucketName, objectName, fileName, opts)" |
| 4807 | args := map[string]interface{}{ |
| 4808 | "bucketName": "", |
| 4809 | "objectName": "", |
| 4810 | "fileName": "", |
| 4811 | "opts": "", |
| 4812 | } |
| 4813 | |
| 4814 | c, err := NewClient(ClientConfig{}) |
| 4815 | if err != nil { |
| 4816 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 4817 | return |
| 4818 | } |
| 4819 | |
| 4820 | // Generate a new random bucket name. |
| 4821 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 4822 | args["bucketName"] = bucketName |
| 4823 | |
| 4824 | // Make a new bucket. |
| 4825 | err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}) |
| 4826 | if err != nil { |
| 4827 | logError(testName, function, args, startTime, "", "MakeBucket failed", err) |
| 4828 | return |
| 4829 | } |
| 4830 | |
| 4831 | defer cleanupBucket(bucketName, c) |
| 4832 | |
| 4833 | // Upload 1 parts worth of data to use multipart upload. |
| 4834 | // Use different data in part for multipart tests to check parts are uploaded in correct order. |
| 4835 | fName := getMintDataDirFilePath("datafile-1-MB") |
| 4836 | if fName == "" { |
| 4837 | // Make a temp file with 1 MiB bytes of data. |
| 4838 | file, err := os.CreateTemp(os.TempDir(), "FPutObjectContextTest") |
| 4839 | if err != nil { |
| 4840 | logError(testName, function, args, startTime, "", "TempFile creation failed", err) |
| 4841 | return |
| 4842 | } |
| 4843 | |
| 4844 | // Upload 1 parts to trigger multipart upload |
| 4845 | if _, err = io.Copy(file, getDataReader("datafile-1-MB")); err != nil { |
| 4846 | logError(testName, function, args, startTime, "", "File copy failed", err) |
| 4847 | return |
| 4848 | } |
| 4849 | // Close the file pro-actively for windows. |
| 4850 | if err = file.Close(); err != nil { |
| 4851 | logError(testName, function, args, startTime, "", "File close failed", err) |
| 4852 | return |
| 4853 | } |
| 4854 | defer os.Remove(file.Name()) |
| 4855 | fName = file.Name() |
| 4856 | } |
| 4857 | |
| 4858 | // Set base object name |
| 4859 | objectName := bucketName + "FPutObjectContext" |
no test coverage detected