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

Function testEncryptedEmptyObject

functional_tests.go:9651–9747  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

9649}
9650
9651func testEncryptedEmptyObject() {
9652 // initialize logging params
9653 startTime := time.Now()
9654 testName := getFuncName()
9655 function := "PutObject(bucketName, objectName, reader, objectSize, opts)"
9656 args := map[string]interface{}{}
9657
9658 c, err := NewClient(ClientConfig{})
9659 if err != nil {
9660 logError(testName, function, args, startTime, "", "MinIO v4 client object creation failed", err)
9661 return
9662 }
9663
9664 // Generate a new random bucket name.
9665 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
9666 args["bucketName"] = bucketName
9667 // Make a new bucket in 'us-east-1' (source bucket).
9668 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
9669 if err != nil {
9670 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
9671 return
9672 }
9673
9674 defer cleanupBucket(bucketName, c)
9675
9676 sse := encrypt.DefaultPBKDF([]byte("correct horse battery staple"), []byte(bucketName+"object"))
9677
9678 // 1. create an sse-c encrypted object to copy by uploading
9679 const srcSize = 0
9680 var buf []byte // Empty buffer
9681 args["objectName"] = "object"
9682 _, err = c.PutObject(context.Background(), bucketName, "object", bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{ServerSideEncryption: sse})
9683 if err != nil {
9684 logError(testName, function, args, startTime, "", "PutObject call failed", err)
9685 return
9686 }
9687
9688 // 2. Test CopyObject for an empty object
9689 src := minio.CopySrcOptions{
9690 Bucket: bucketName,
9691 Object: "object",
9692 Encryption: sse,
9693 }
9694
9695 dst := minio.CopyDestOptions{
9696 Bucket: bucketName,
9697 Object: "new-object",
9698 Encryption: sse,
9699 }
9700
9701 if _, err = c.CopyObject(context.Background(), dst, src); err != nil {
9702 function = "CopyObject(dst, src)"
9703 logError(testName, function, map[string]interface{}{}, startTime, "", "CopyObject failed", err)
9704 return
9705 }
9706
9707 // 3. Test Key rotation
9708 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