()
| 10142 | } |
| 10143 | |
| 10144 | func testDecryptedCopyObject() { |
| 10145 | // initialize logging params |
| 10146 | startTime := time.Now() |
| 10147 | testName := getFuncName() |
| 10148 | function := "CopyObject(destination, source)" |
| 10149 | args := map[string]interface{}{} |
| 10150 | |
| 10151 | c, err := NewClient(ClientConfig{}) |
| 10152 | if err != nil { |
| 10153 | logError(testName, function, args, startTime, "", "MinIO v2 client object creation failed", err) |
| 10154 | return |
| 10155 | } |
| 10156 | |
| 10157 | bucketName, objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-"), "object" |
| 10158 | if err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}); err != nil { |
| 10159 | logError(testName, function, args, startTime, "", "MakeBucket failed", err) |
| 10160 | return |
| 10161 | } |
| 10162 | |
| 10163 | defer cleanupBucket(bucketName, c) |
| 10164 | |
| 10165 | encryption := encrypt.DefaultPBKDF([]byte("correct horse battery staple"), []byte(bucketName+objectName)) |
| 10166 | _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(bytes.Repeat([]byte("a"), 1024*1024)), 1024*1024, minio.PutObjectOptions{ |
| 10167 | ServerSideEncryption: encryption, |
| 10168 | }) |
| 10169 | if err != nil { |
| 10170 | logError(testName, function, args, startTime, "", "PutObject call failed", err) |
| 10171 | return |
| 10172 | } |
| 10173 | |
| 10174 | src := minio.CopySrcOptions{ |
| 10175 | Bucket: bucketName, |
| 10176 | Object: objectName, |
| 10177 | Encryption: encrypt.SSECopy(encryption), |
| 10178 | } |
| 10179 | args["source"] = src |
| 10180 | |
| 10181 | dst := minio.CopyDestOptions{ |
| 10182 | Bucket: bucketName, |
| 10183 | Object: "decrypted-" + objectName, |
| 10184 | } |
| 10185 | args["destination"] = dst |
| 10186 | |
| 10187 | if _, err = c.CopyObject(context.Background(), dst, src); err != nil { |
| 10188 | logError(testName, function, args, startTime, "", "CopyObject failed", err) |
| 10189 | return |
| 10190 | } |
| 10191 | if _, err = c.GetObject(context.Background(), bucketName, "decrypted-"+objectName, minio.GetObjectOptions{}); err != nil { |
| 10192 | logError(testName, function, args, startTime, "", "GetObject failed", err) |
| 10193 | return |
| 10194 | } |
| 10195 | logSuccess(testName, function, args, startTime) |
| 10196 | } |
| 10197 | |
| 10198 | func testSSECMultipartEncryptedToSSECCopyObjectPart() { |
| 10199 | // initialize logging params |
no test coverage detected