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

Function testSSECMultipartEncryptedToSSECCopyObjectPart

functional_tests.go:10198–10381  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

10196}
10197
10198func testSSECMultipartEncryptedToSSECCopyObjectPart() {
10199 // initialize logging params
10200 startTime := time.Now()
10201 testName := getFuncName()
10202 function := "CopyObjectPart(destination, source)"
10203 args := map[string]interface{}{}
10204
10205 client, err := NewClient(ClientConfig{})
10206 if err != nil {
10207 logError(testName, function, args, startTime, "", "MinIO v4 client object creation failed", err)
10208 return
10209 }
10210
10211 // Instantiate new core client object.
10212 c := minio.Core{Client: client}
10213
10214 // Generate a new random bucket name.
10215 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
10216
10217 // Make a new bucket.
10218 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
10219 if err != nil {
10220 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
10221 return
10222 }
10223 defer cleanupBucket(bucketName, client)
10224 // Make a buffer with 6MB of data
10225 buf := bytes.Repeat([]byte("abcdef"), 1024*1024)
10226
10227 // Save the data
10228 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
10229 password := "correct horse battery staple"
10230 srcencryption := encrypt.DefaultPBKDF([]byte(password), []byte(bucketName+objectName))
10231
10232 // Upload a 6MB object using multipart mechanism
10233 uploadID, err := c.NewMultipartUpload(context.Background(), bucketName, objectName, minio.PutObjectOptions{ServerSideEncryption: srcencryption})
10234 if err != nil {
10235 logError(testName, function, args, startTime, "", "NewMultipartUpload call failed", err)
10236 return
10237 }
10238
10239 var completeParts []minio.CompletePart
10240
10241 part, err := c.PutObjectPart(context.Background(), bucketName, objectName, uploadID, 1,
10242 bytes.NewReader(buf[:5*1024*1024]), 5*1024*1024,
10243 minio.PutObjectPartOptions{SSE: srcencryption},
10244 )
10245 if err != nil {
10246 logError(testName, function, args, startTime, "", "PutObjectPart call failed", err)
10247 return
10248 }
10249 completeParts = append(completeParts, minio.CompletePart{PartNumber: part.PartNumber, ETag: part.ETag})
10250
10251 part, err = c.PutObjectPart(context.Background(), bucketName, objectName, uploadID, 2,
10252 bytes.NewReader(buf[5*1024*1024:]), 1024*1024,
10253 minio.PutObjectPartOptions{SSE: srcencryption},
10254 )
10255 if err != nil {

Callers 1

mainFunction · 0.85

Calls 15

NewMultipartUploadMethod · 0.95
PutObjectPartMethod · 0.95
CopyObjectPartMethod · 0.95
SetRangeMethod · 0.95
GetObjectMethod · 0.95
SSECopyFunction · 0.92
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logSuccessFunction · 0.85

Tested by

no test coverage detected