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

Function testCopyObjectV2

functional_tests.go:8980–9110  ·  view source on GitHub ↗

Tests copy object

()

Source from the content-addressed store, hash-verified

8978
8979// Tests copy object
8980func testCopyObjectV2() {
8981 // initialize logging params
8982 startTime := time.Now()
8983 testName := getFuncName()
8984 function := "CopyObject(destination, source)"
8985 args := map[string]interface{}{}
8986
8987 c, err := NewClient(ClientConfig{CredsV2: true})
8988 if err != nil {
8989 logError(testName, function, args, startTime, "", "MinIO v2 client object creation failed", err)
8990 return
8991 }
8992
8993 // Generate a new random bucket name.
8994 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
8995
8996 // Make a new bucket in 'us-east-1' (source bucket).
8997 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
8998 if err != nil {
8999 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
9000 return
9001 }
9002 defer cleanupBucket(bucketName, c)
9003
9004 // Make a new bucket in 'us-east-1' (destination bucket).
9005 err = c.MakeBucket(context.Background(), bucketName+"-copy", minio.MakeBucketOptions{Region: "us-east-1"})
9006 if err != nil {
9007 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
9008 return
9009 }
9010 defer cleanupBucket(bucketName+"-copy", c)
9011
9012 // Generate 33K of data.
9013 bufSize := dataFileMap["datafile-33-kB"]
9014 reader := getDataReader("datafile-33-kB")
9015 defer reader.Close()
9016
9017 // Save the data
9018 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
9019 _, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{ContentType: "binary/octet-stream"})
9020 if err != nil {
9021 logError(testName, function, args, startTime, "", "PutObject failed", err)
9022 return
9023 }
9024
9025 r, err := c.GetObject(context.Background(), bucketName, objectName, minio.GetObjectOptions{})
9026 if err != nil {
9027 logError(testName, function, args, startTime, "", "GetObject failed", err)
9028 return
9029 }
9030 // Check the various fields of source object against destination object.
9031 objInfo, err := r.Stat()
9032 if err != nil {
9033 logError(testName, function, args, startTime, "", "Stat failed", err)
9034 return
9035 }
9036 r.Close()
9037

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