()
| 1534 | } |
| 1535 | |
| 1536 | func testComposeObjectWithVersioning() { |
| 1537 | // initialize logging params |
| 1538 | startTime := time.Now() |
| 1539 | testName := getFuncName() |
| 1540 | function := "ComposeObject()" |
| 1541 | args := map[string]interface{}{} |
| 1542 | |
| 1543 | c, err := NewClient(ClientConfig{}) |
| 1544 | if err != nil { |
| 1545 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 1546 | return |
| 1547 | } |
| 1548 | |
| 1549 | // Generate a new random bucket name. |
| 1550 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 1551 | args["bucketName"] = bucketName |
| 1552 | |
| 1553 | // Make a new bucket. |
| 1554 | err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1", ObjectLocking: true}) |
| 1555 | if err != nil { |
| 1556 | logError(testName, function, args, startTime, "", "Make bucket failed", err) |
| 1557 | return |
| 1558 | } |
| 1559 | |
| 1560 | err = c.EnableVersioning(context.Background(), bucketName) |
| 1561 | if err != nil { |
| 1562 | logError(testName, function, args, startTime, "", "Enable versioning failed", err) |
| 1563 | return |
| 1564 | } |
| 1565 | |
| 1566 | objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "") |
| 1567 | args["objectName"] = objectName |
| 1568 | |
| 1569 | // var testFiles = []string{"datafile-5-MB", "datafile-10-kB"} |
| 1570 | testFiles := []string{"datafile-5-MB", "datafile-10-kB"} |
| 1571 | var testFilesBytes [][]byte |
| 1572 | |
| 1573 | for _, testFile := range testFiles { |
| 1574 | r := getDataReader(testFile) |
| 1575 | buf, err := io.ReadAll(r) |
| 1576 | if err != nil { |
| 1577 | logError(testName, function, args, startTime, "", "unexpected failure", err) |
| 1578 | return |
| 1579 | } |
| 1580 | r.Close() |
| 1581 | _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{}) |
| 1582 | if err != nil { |
| 1583 | logError(testName, function, args, startTime, "", "PutObject failed", err) |
| 1584 | return |
| 1585 | } |
| 1586 | testFilesBytes = append(testFilesBytes, buf) |
| 1587 | } |
| 1588 | |
| 1589 | objectsInfo := c.ListObjects(context.Background(), bucketName, minio.ListObjectsOptions{WithVersions: true, Recursive: true}) |
| 1590 | |
| 1591 | var results []minio.ObjectInfo |
| 1592 | for info := range objectsInfo { |
| 1593 | if info.Err != nil { |
no test coverage detected