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

Function testUnencryptedToSSES3CopyObjectPart

functional_tests.go:11205–11363  ·  view source on GitHub ↗

Test Core CopyObjectPart implementation for unencrypted to SSE-S3 encrypted copy

()

Source from the content-addressed store, hash-verified

11203
11204// Test Core CopyObjectPart implementation for unencrypted to SSE-S3 encrypted copy
11205func testUnencryptedToSSES3CopyObjectPart() {
11206 // initialize logging params
11207 startTime := time.Now()
11208 testName := getFuncName()
11209 function := "CopyObjectPart(destination, source)"
11210 args := map[string]interface{}{}
11211
11212 client, err := NewClient(ClientConfig{})
11213 if err != nil {
11214 logError(testName, function, args, startTime, "", "MinIO v4 client object creation failed", err)
11215 return
11216 }
11217
11218 // Instantiate new core client object.
11219 c := minio.Core{Client: client}
11220
11221 // Generate a new random bucket name.
11222 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
11223
11224 // Make a new bucket.
11225 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
11226 if err != nil {
11227 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
11228 return
11229 }
11230 defer cleanupBucket(bucketName, client)
11231 // Make a buffer with 5MB of data
11232 buf := bytes.Repeat([]byte("abcde"), 1024*1024)
11233
11234 // Save the data
11235 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
11236 opts := minio.PutObjectOptions{
11237 UserMetadata: map[string]string{
11238 "Content-Type": "binary/octet-stream",
11239 },
11240 }
11241 uploadInfo, err := c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), "", "", opts)
11242 if err != nil {
11243 logError(testName, function, args, startTime, "", "PutObject call failed", err)
11244 return
11245 }
11246 st, err := c.StatObject(context.Background(), bucketName, objectName, minio.StatObjectOptions{})
11247 if err != nil {
11248 logError(testName, function, args, startTime, "", "StatObject call failed", err)
11249 return
11250 }
11251
11252 if st.Size != int64(len(buf)) {
11253 logError(testName, function, args, startTime, "", fmt.Sprintf("Error: number of bytes does not match, want %v, got %v\n", len(buf), st.Size), err)
11254 return
11255 }
11256
11257 destBucketName := bucketName
11258 destObjectName := objectName + "-dest"
11259 dstencryption := encrypt.NewSSE()
11260
11261 uploadID, err := c.NewMultipartUpload(context.Background(), destBucketName, destObjectName, minio.PutObjectOptions{ServerSideEncryption: dstencryption})
11262 if err != nil {

Callers 1

mainFunction · 0.85

Calls 15

PutObjectMethod · 0.95
NewMultipartUploadMethod · 0.95
CopyObjectPartMethod · 0.95
SetRangeMethod · 0.95
GetObjectMethod · 0.95
NewSSEFunction · 0.92
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logSuccessFunction · 0.85

Tested by

no test coverage detected