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

Function testDecryptedCopyObject

functional_tests.go:10040–10092  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

10038}
10039
10040func testDecryptedCopyObject() {
10041 // initialize logging params
10042 startTime := time.Now()
10043 testName := getFuncName()
10044 function := "CopyObject(destination, source)"
10045 args := map[string]interface{}{}
10046
10047 c, err := NewClient(ClientConfig{})
10048 if err != nil {
10049 logError(testName, function, args, startTime, "", "MinIO v2 client object creation failed", err)
10050 return
10051 }
10052
10053 bucketName, objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-"), "object"
10054 if err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}); err != nil {
10055 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
10056 return
10057 }
10058
10059 defer cleanupBucket(bucketName, c)
10060
10061 encryption := encrypt.DefaultPBKDF([]byte("correct horse battery staple"), []byte(bucketName+objectName))
10062 _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(bytes.Repeat([]byte("a"), 1024*1024)), 1024*1024, minio.PutObjectOptions{
10063 ServerSideEncryption: encryption,
10064 })
10065 if err != nil {
10066 logError(testName, function, args, startTime, "", "PutObject call failed", err)
10067 return
10068 }
10069
10070 src := minio.CopySrcOptions{
10071 Bucket: bucketName,
10072 Object: objectName,
10073 Encryption: encrypt.SSECopy(encryption),
10074 }
10075 args["source"] = src
10076
10077 dst := minio.CopyDestOptions{
10078 Bucket: bucketName,
10079 Object: "decrypted-" + objectName,
10080 }
10081 args["destination"] = dst
10082
10083 if _, err = c.CopyObject(context.Background(), dst, src); err != nil {
10084 logError(testName, function, args, startTime, "", "CopyObject failed", err)
10085 return
10086 }
10087 if _, err = c.GetObject(context.Background(), bucketName, "decrypted-"+objectName, minio.GetObjectOptions{}); err != nil {
10088 logError(testName, function, args, startTime, "", "GetObject failed", err)
10089 return
10090 }
10091 logSuccess(testName, function, args, startTime)
10092}
10093
10094func testSSECMultipartEncryptedToSSECCopyObjectPart() {
10095 // initialize logging params

Callers 1

mainFunction · 0.85

Calls 11

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
CopyObjectMethod · 0.95
GetObjectMethod · 0.95
SSECopyFunction · 0.92
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logSuccessFunction · 0.85
randStringFunction · 0.70

Tested by

no test coverage detected