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

Function testComposeMultipleSources

functional_tests.go:9559–9632  ·  view source on GitHub ↗
(c *minio.Client)

Source from the content-addressed store, hash-verified

9557}
9558
9559func testComposeMultipleSources(c *minio.Client) {
9560 // initialize logging params
9561 startTime := time.Now()
9562 testName := getFuncName()
9563 function := "ComposeObject(destination, sourceList)"
9564 args := map[string]interface{}{
9565 "destination": "",
9566 "sourceList": "",
9567 }
9568
9569 // Generate a new random bucket name.
9570 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
9571 // Make a new bucket in 'us-east-1' (source bucket).
9572 err := c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
9573 if err != nil {
9574 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
9575 return
9576 }
9577
9578 defer cleanupBucket(bucketName, c)
9579
9580 // Upload a small source object
9581 const srcSize = 1024 * 1024 * 5
9582 buf := bytes.Repeat([]byte("1"), srcSize)
9583 _, err = c.PutObject(context.Background(), bucketName, "srcObject", bytes.NewReader(buf), int64(srcSize), minio.PutObjectOptions{ContentType: "binary/octet-stream"})
9584 if err != nil {
9585 logError(testName, function, args, startTime, "", "PutObject failed", err)
9586 return
9587 }
9588
9589 // We will append 10 copies of the object.
9590 srcs := []minio.CopySrcOptions{}
9591 for i := 0; i < 10; i++ {
9592 srcs = append(srcs, minio.CopySrcOptions{
9593 Bucket: bucketName,
9594 Object: "srcObject",
9595 })
9596 }
9597
9598 // make the last part very small
9599 srcs[9].MatchRange = true
9600
9601 args["sourceList"] = srcs
9602
9603 dst := minio.CopyDestOptions{
9604 Bucket: bucketName,
9605 Object: "dstObject",
9606 }
9607 args["destination"] = dst
9608
9609 ui, err := c.ComposeObject(context.Background(), dst, srcs...)
9610 if err != nil {
9611 logError(testName, function, args, startTime, "", "ComposeObject failed", err)
9612 return
9613 }
9614
9615 if ui.Size != 9*srcSize+1 {
9616 logError(testName, function, args, startTime, "", "ComposeObject returned unexpected size", err)

Callers 2

testCompose10KSourcesV2Function · 0.85
testCompose10KSourcesFunction · 0.85

Calls 9

getFuncNameFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logSuccessFunction · 0.85
MakeBucketMethod · 0.80
ComposeObjectMethod · 0.80
StatObjectMethod · 0.80
randStringFunction · 0.70
PutObjectMethod · 0.45

Tested by

no test coverage detected