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

Function testFPutObjectContextV2

functional_tests.go:4890–4976  ·  view source on GitHub ↗

Tests FPutObject request when context cancels after timeout

()

Source from the content-addressed store, hash-verified

4888
4889// Tests FPutObject request when context cancels after timeout
4890func 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"

Callers 1

mainFunction · 0.85

Calls 13

MakeBucketMethod · 0.95
FPutObjectMethod · 0.95
StatObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
getMintDataDirFilePathFunction · 0.85
getDataReaderFunction · 0.85
logSuccessFunction · 0.85
randStringFunction · 0.70
CloseMethod · 0.45

Tested by

no test coverage detected