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

Function testEncryptedEmptyObject

functional_tests.go:9547–9643  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

9545}
9546
9547func testEncryptedEmptyObject() {
9548 // initialize logging params
9549 startTime := time.Now()
9550 testName := getFuncName()
9551 function := "PutObject(bucketName, objectName, reader, objectSize, opts)"
9552 args := map[string]interface{}{}
9553
9554 c, err := NewClient(ClientConfig{})
9555 if err != nil {
9556 logError(testName, function, args, startTime, "", "MinIO v4 client object creation failed", err)
9557 return
9558 }
9559
9560 // Generate a new random bucket name.
9561 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
9562 args["bucketName"] = bucketName
9563 // Make a new bucket in 'us-east-1' (source bucket).
9564 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
9565 if err != nil {
9566 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
9567 return
9568 }
9569
9570 defer cleanupBucket(bucketName, c)
9571
9572 sse := encrypt.DefaultPBKDF([]byte("correct horse battery staple"), []byte(bucketName+"object"))
9573
9574 // 1. create an sse-c encrypted object to copy by uploading
9575 const srcSize = 0
9576 var buf []byte // Empty buffer
9577 args["objectName"] = "object"
9578 _, err = c.PutObject(context.Background(), bucketName, "object", bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{ServerSideEncryption: sse})
9579 if err != nil {
9580 logError(testName, function, args, startTime, "", "PutObject call failed", err)
9581 return
9582 }
9583
9584 // 2. Test CopyObject for an empty object
9585 src := minio.CopySrcOptions{
9586 Bucket: bucketName,
9587 Object: "object",
9588 Encryption: sse,
9589 }
9590
9591 dst := minio.CopyDestOptions{
9592 Bucket: bucketName,
9593 Object: "new-object",
9594 Encryption: sse,
9595 }
9596
9597 if _, err = c.CopyObject(context.Background(), dst, src); err != nil {
9598 function = "CopyObject(dst, src)"
9599 logError(testName, function, map[string]interface{}{}, startTime, "", "CopyObject failed", err)
9600 return
9601 }
9602
9603 // 3. Test Key rotation
9604 newSSE := encrypt.DefaultPBKDF([]byte("Don't Panic"), []byte(bucketName+"new-object"))

Callers 1

mainFunction · 0.85

Calls 12

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
CopyObjectMethod · 0.95
GetObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logSuccessFunction · 0.85
EqualMethod · 0.80
randStringFunction · 0.70
CloseMethod · 0.45

Tested by

no test coverage detected