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

Function testUnencryptedToSSECCopyObjectPart

functional_tests.go:10779–10939  ·  view source on GitHub ↗

Test Core CopyObjectPart implementation for unencrypted to SSEC encryption copy part

()

Source from the content-addressed store, hash-verified

10777
10778// Test Core CopyObjectPart implementation for unencrypted to SSEC encryption copy part
10779func testUnencryptedToSSECCopyObjectPart() {
10780 // initialize logging params
10781 startTime := time.Now()
10782 testName := getFuncName()
10783 function := "CopyObjectPart(destination, source)"
10784 args := map[string]interface{}{}
10785
10786 client, err := NewClient(ClientConfig{TrailingHeaders: true})
10787 if err != nil {
10788 logError(testName, function, args, startTime, "", "MinIO v4 client object creation failed", err)
10789 return
10790 }
10791
10792 // Instantiate new core client object.
10793 c := minio.Core{Client: client}
10794
10795 // Generate a new random bucket name.
10796 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
10797
10798 // Make a new bucket.
10799 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
10800 if err != nil {
10801 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
10802 return
10803 }
10804 defer cleanupBucket(bucketName, client)
10805 // Make a buffer with 5MB of data
10806 buf := bytes.Repeat([]byte("abcde"), 1024*1024)
10807
10808 // Save the data
10809 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
10810 password := "correct horse battery staple"
10811 putmetadata := map[string]string{
10812 "Content-Type": "binary/octet-stream",
10813 }
10814 opts := minio.PutObjectOptions{
10815 UserMetadata: putmetadata,
10816 }
10817 uploadInfo, err := c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), "", "", opts)
10818 if err != nil {
10819 logError(testName, function, args, startTime, "", "PutObject call failed", err)
10820 return
10821 }
10822
10823 st, err := c.StatObject(context.Background(), bucketName, objectName, minio.StatObjectOptions{})
10824 if err != nil {
10825 logError(testName, function, args, startTime, "", "StatObject call failed", err)
10826 return
10827 }
10828
10829 if st.Size != int64(len(buf)) {
10830 logError(testName, function, args, startTime, "", fmt.Sprintf("Error: number of bytes does not match, want %v, got %v\n", len(buf), st.Size), err)
10831 return
10832 }
10833
10834 destBucketName := bucketName
10835 destObjectName := objectName + "-dest"
10836 dstencryption := encrypt.DefaultPBKDF([]byte(password), []byte(destBucketName+destObjectName))

Callers 1

mainFunction · 0.85

Calls 15

PutObjectMethod · 0.95
NewMultipartUploadMethod · 0.95
CopyObjectPartMethod · 0.95
SetRangeMethod · 0.95
GetObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logSuccessFunction · 0.85
MakeBucketMethod · 0.80

Tested by

no test coverage detected