Tests copy object
()
| 6171 | |
| 6172 | // Tests copy object |
| 6173 | func 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 |
no test coverage detected