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

Function testUnencryptedToSSECCopyObjectPart

functional_tests.go:10883–11043  ·  view source on GitHub ↗

Test Core CopyObjectPart implementation for unencrypted to SSEC encryption copy part

()

Source from the content-addressed store, hash-verified

10881
10882// Test Core CopyObjectPart implementation for unencrypted to SSEC encryption copy part
10883func testUnencryptedToSSECCopyObjectPart() {
10884 // initialize logging params
10885 startTime := time.Now()
10886 testName := getFuncName()
10887 function := "CopyObjectPart(destination, source)"
10888 args := map[string]interface{}{}
10889
10890 client, err := NewClient(ClientConfig{TrailingHeaders: true})
10891 if err != nil {
10892 logError(testName, function, args, startTime, "", "MinIO v4 client object creation failed", err)
10893 return
10894 }
10895
10896 // Instantiate new core client object.
10897 c := minio.Core{Client: client}
10898
10899 // Generate a new random bucket name.
10900 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
10901
10902 // Make a new bucket.
10903 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
10904 if err != nil {
10905 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
10906 return
10907 }
10908 defer cleanupBucket(bucketName, client)
10909 // Make a buffer with 5MB of data
10910 buf := bytes.Repeat([]byte("abcde"), 1024*1024)
10911
10912 // Save the data
10913 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
10914 password := "correct horse battery staple"
10915 putmetadata := map[string]string{
10916 "Content-Type": "binary/octet-stream",
10917 }
10918 opts := minio.PutObjectOptions{
10919 UserMetadata: putmetadata,
10920 }
10921 uploadInfo, err := c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), "", "", opts)
10922 if err != nil {
10923 logError(testName, function, args, startTime, "", "PutObject call failed", err)
10924 return
10925 }
10926
10927 st, err := c.StatObject(context.Background(), bucketName, objectName, minio.StatObjectOptions{})
10928 if err != nil {
10929 logError(testName, function, args, startTime, "", "StatObject call failed", err)
10930 return
10931 }
10932
10933 if st.Size != int64(len(buf)) {
10934 logError(testName, function, args, startTime, "", fmt.Sprintf("Error: number of bytes does not match, want %v, got %v\n", len(buf), st.Size), err)
10935 return
10936 }
10937
10938 destBucketName := bucketName
10939 destObjectName := objectName + "-dest"
10940 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