(c *minio.Client)
| 9557 | } |
| 9558 | |
| 9559 | func 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) |
no test coverage detected