()
| 1388 | } |
| 1389 | |
| 1390 | func 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 | } |
no test coverage detected