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

Function testComposeObjectWithVersioning

functional_tests.go:1536–1660  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1534}
1535
1536func 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 {

Callers 1

mainFunction · 0.85

Calls 15

MakeBucketMethod · 0.95
EnableVersioningMethod · 0.95
PutObjectMethod · 0.95
ListObjectsMethod · 0.95
ComposeObjectMethod · 0.95
GetObjectMethod · 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