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

Function testCopyObjectV2

functional_tests.go:9084–9214  ·  view source on GitHub ↗

Tests copy object

()

Source from the content-addressed store, hash-verified

9082
9083// Tests copy object
9084func testCopyObjectV2() {
9085 // initialize logging params
9086 startTime := time.Now()
9087 testName := getFuncName()
9088 function := "CopyObject(destination, source)"
9089 args := map[string]interface{}{}
9090
9091 c, err := NewClient(ClientConfig{CredsV2: true})
9092 if err != nil {
9093 logError(testName, function, args, startTime, "", "MinIO v2 client object creation failed", err)
9094 return
9095 }
9096
9097 // Generate a new random bucket name.
9098 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
9099
9100 // Make a new bucket in 'us-east-1' (source bucket).
9101 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
9102 if err != nil {
9103 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
9104 return
9105 }
9106 defer cleanupBucket(bucketName, c)
9107
9108 // Make a new bucket in 'us-east-1' (destination bucket).
9109 err = c.MakeBucket(context.Background(), bucketName+"-copy", minio.MakeBucketOptions{Region: "us-east-1"})
9110 if err != nil {
9111 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
9112 return
9113 }
9114 defer cleanupBucket(bucketName+"-copy", c)
9115
9116 // Generate 33K of data.
9117 bufSize := dataFileMap["datafile-33-kB"]
9118 reader := getDataReader("datafile-33-kB")
9119 defer reader.Close()
9120
9121 // Save the data
9122 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
9123 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{ContentType: "binary/octet-stream"})
9124 if err != nil {
9125 logError(testName, function, args, startTime, "", "PutObject failed", err)
9126 return
9127 }
9128
9129 r, err := c.GetObject(context.Background(), bucketName, objectName, minio.GetObjectOptions{})
9130 if err != nil {
9131 logError(testName, function, args, startTime, "", "GetObject failed", err)
9132 return
9133 }
9134 // Check the various fields of source object against destination object.
9135 objInfo, err := r.Stat()
9136 if err != nil {
9137 logError(testName, function, args, startTime, "", "Stat failed", err)
9138 return
9139 }
9140 r.Close()
9141

Callers 1

mainFunction · 0.85

Calls 13

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
GetObjectMethod · 0.95
CopyObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
getDataReaderFunction · 0.85
logSuccessFunction · 0.85
StatMethod · 0.80
randStringFunction · 0.70

Tested by

no test coverage detected