Tests FPutObject request when context cancels after timeout
()
| 4888 | |
| 4889 | // Tests FPutObject request when context cancels after timeout |
| 4890 | func testFPutObjectContextV2() { |
| 4891 | // initialize logging params |
| 4892 | startTime := time.Now() |
| 4893 | testName := getFuncName() |
| 4894 | function := "FPutObjectContext(ctx, bucketName, objectName, fileName, opts)" |
| 4895 | args := map[string]interface{}{ |
| 4896 | "bucketName": "", |
| 4897 | "objectName": "", |
| 4898 | "opts": "minio.PutObjectOptions{ContentType:objectContentType}", |
| 4899 | } |
| 4900 | |
| 4901 | c, err := NewClient(ClientConfig{CredsV2: true}) |
| 4902 | if err != nil { |
| 4903 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 4904 | return |
| 4905 | } |
| 4906 | |
| 4907 | // Generate a new random bucket name. |
| 4908 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 4909 | args["bucketName"] = bucketName |
| 4910 | |
| 4911 | // Make a new bucket. |
| 4912 | err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}) |
| 4913 | if err != nil { |
| 4914 | logError(testName, function, args, startTime, "", "MakeBucket failed", err) |
| 4915 | return |
| 4916 | } |
| 4917 | |
| 4918 | defer cleanupBucket(bucketName, c) |
| 4919 | |
| 4920 | // Upload 1 parts worth of data to use multipart upload. |
| 4921 | // Use different data in part for multipart tests to check parts are uploaded in correct order. |
| 4922 | fName := getMintDataDirFilePath("datafile-1-MB") |
| 4923 | if fName == "" { |
| 4924 | // Make a temp file with 1 MiB bytes of data. |
| 4925 | file, err := os.CreateTemp(os.TempDir(), "FPutObjectContextTest") |
| 4926 | if err != nil { |
| 4927 | logError(testName, function, args, startTime, "", "Temp file creation failed", err) |
| 4928 | return |
| 4929 | } |
| 4930 | |
| 4931 | // Upload 1 parts to trigger multipart upload |
| 4932 | if _, err = io.Copy(file, getDataReader("datafile-1-MB")); err != nil { |
| 4933 | logError(testName, function, args, startTime, "", "File copy failed", err) |
| 4934 | return |
| 4935 | } |
| 4936 | |
| 4937 | // Close the file pro-actively for windows. |
| 4938 | if err = file.Close(); err != nil { |
| 4939 | logError(testName, function, args, startTime, "", "File close failed", err) |
| 4940 | return |
| 4941 | } |
| 4942 | defer os.Remove(file.Name()) |
| 4943 | fName = file.Name() |
| 4944 | } |
| 4945 | |
| 4946 | // Set base object name |
| 4947 | objectName := bucketName + "FPutObjectContext" |
no test coverage detected