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

Function testCopyObject

functional_tests.go:6173–6350  ·  view source on GitHub ↗

Tests copy object

()

Source from the content-addressed store, hash-verified

6171
6172// Tests copy object
6173func testCopyObject() {
6174 // initialize logging params
6175 startTime := time.Now()
6176 testName := getFuncName()
6177 function := "CopyObject(dst, src)"
6178 args := map[string]interface{}{}
6179
6180 c, err := NewClient(ClientConfig{})
6181 if err != nil {
6182 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
6183 return
6184 }
6185
6186 // Generate a new random bucket name.
6187 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
6188
6189 // Make a new bucket in 'us-east-1' (source bucket).
6190 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
6191 if err != nil {
6192 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
6193 return
6194 }
6195
6196 defer cleanupBucket(bucketName, c)
6197
6198 // Make a new bucket in 'us-east-1' (destination bucket).
6199 err = c.MakeBucket(context.Background(), bucketName+"-copy", minio.MakeBucketOptions{Region: "us-east-1"})
6200 if err != nil {
6201 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
6202 return
6203 }
6204 defer cleanupBucket(bucketName+"-copy", c)
6205
6206 // Generate 33K of data.
6207 bufSize := dataFileMap["datafile-33-kB"]
6208 reader := getDataReader("datafile-33-kB")
6209
6210 // Save the data
6211 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
6212 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{ContentType: "binary/octet-stream"})
6213 if err != nil {
6214 logError(testName, function, args, startTime, "", "PutObject failed", err)
6215 return
6216 }
6217
6218 r, err := c.GetObject(context.Background(), bucketName, objectName, minio.GetObjectOptions{})
6219 if err != nil {
6220 logError(testName, function, args, startTime, "", "GetObject failed", err)
6221 return
6222 }
6223 // Check the various fields of source object against destination object.
6224 objInfo, err := r.Stat()
6225 if err != nil {
6226 logError(testName, function, args, startTime, "", "Stat failed", err)
6227 return
6228 }
6229
6230 // Copy Source

Callers 1

mainFunction · 0.85

Calls 15

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
GetObjectMethod · 0.95
CopyObjectMethod · 0.95
StatObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
getDataReaderFunction · 0.85
crcMatchesNameFunction · 0.85
logSuccessFunction · 0.85

Tested by

no test coverage detected