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

Function testConcurrentCopyObjectWithVersioning

functional_tests.go:1390–1534  ·  functional_tests.go::testConcurrentCopyObjectWithVersioning
()

Source from the content-addressed store, hash-verified

1388}
1389
1390func testConcurrentCopyObjectWithVersioning() {
1391 // initialize logging params
1392 startTime := time.Now()
1393 testName := getFuncName()
1394 function := "CopyObject()"
1395 args := map[string]interface{}{}
1396
1397 c, err := NewClient(ClientConfig{})
1398 if err != nil {
1399 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
1400 return
1401 }
1402
1403 // Generate a new random bucket name.
1404 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
1405 args["bucketName"] = bucketName
1406
1407 // Make a new bucket.
1408 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1", ObjectLocking: true})
1409 if err != nil {
1410 logError(testName, function, args, startTime, "", "Make bucket failed", err)
1411 return
1412 }
1413
1414 err = c.EnableVersioning(context.Background(), bucketName)
1415 if err != nil {
1416 logError(testName, function, args, startTime, "", "Enable versioning failed", err)
1417 return
1418 }
1419
1420 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
1421 args["objectName"] = objectName
1422
1423 testFiles := []string{"datafile-10-kB"}
1424 for _, testFile := range testFiles {
1425 r := getDataReader(testFile)
1426 buf, err := io.ReadAll(r)
1427 if err != nil {
1428 logError(testName, function, args, startTime, "", "unexpected failure", err)
1429 return
1430 }
1431 r.Close()
1432 _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{})
1433 if err != nil {
1434 logError(testName, function, args, startTime, "", "PutObject failed", err)
1435 return
1436 }
1437 }
1438
1439 objectsInfo := c.ListObjects(context.Background(), bucketName, minio.ListObjectsOptions{WithVersions: true, Recursive: true})
1440 var infos []minio.ObjectInfo
1441 for info := range objectsInfo {
1442 if info.Err != nil {
1443 logError(testName, function, args, startTime, "", "Unexpected error during listing objects", err)
1444 return
1445 }
1446 infos = append(infos, info)
1447 }

Callers 1

mainFunction · 0.85

Calls 15

MakeBucketMethod · 0.95
EnableVersioningMethod · 0.95
PutObjectMethod · 0.95
ListObjectsMethod · 0.95
GetObjectMethod · 0.95
CopyObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
getDataReaderFunction · 0.85
cleanupVersionedBucketFunction · 0.85
logSuccessFunction · 0.85

Tested by

no test coverage detected