()
| 10038 | } |
| 10039 | |
| 10040 | func 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 | |
| 10094 | func testSSECMultipartEncryptedToSSECCopyObjectPart() { |
| 10095 | // initialize logging params |
no test coverage detected