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

Function testSSES3EncryptionPutGet

functional_tests.go:7332–7421  ·  view source on GitHub ↗

testSSES3EncryptionPutGet tests SSE-S3 encryption

()

Source from the content-addressed store, hash-verified

7330
7331// testSSES3EncryptionPutGet tests SSE-S3 encryption
7332func testSSES3EncryptionPutGet() {
7333 // initialize logging params
7334 startTime := time.Now()
7335 testName := getFuncName()
7336 function := "PutEncryptedObject(bucketName, objectName, reader, sse)"
7337 args := map[string]interface{}{
7338 "bucketName": "",
7339 "objectName": "",
7340 "sse": "",
7341 }
7342
7343 c, err := NewClient(ClientConfig{})
7344 if err != nil {
7345 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
7346 return
7347 }
7348
7349 // Generate a new random bucket name.
7350 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
7351 args["bucketName"] = bucketName
7352
7353 // Make a new bucket.
7354 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
7355 if err != nil {
7356 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
7357 return
7358 }
7359
7360 defer cleanupBucket(bucketName, c)
7361
7362 testCases := []struct {
7363 buf []byte
7364 }{
7365 {buf: bytes.Repeat([]byte("F"), 1)},
7366 {buf: bytes.Repeat([]byte("F"), 15)},
7367 {buf: bytes.Repeat([]byte("F"), 16)},
7368 {buf: bytes.Repeat([]byte("F"), 17)},
7369 {buf: bytes.Repeat([]byte("F"), 31)},
7370 {buf: bytes.Repeat([]byte("F"), 32)},
7371 {buf: bytes.Repeat([]byte("F"), 33)},
7372 {buf: bytes.Repeat([]byte("F"), 1024)},
7373 {buf: bytes.Repeat([]byte("F"), 1024*2)},
7374 {buf: bytes.Repeat([]byte("F"), 1024*1024)},
7375 }
7376
7377 for i, testCase := range testCases {
7378 // Generate a random object name
7379 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
7380 args["objectName"] = objectName
7381
7382 // Secured object
7383 sse := encrypt.NewSSE()
7384 args["sse"] = sse
7385
7386 // Put encrypted data
7387 _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(testCase.buf), int64(len(testCase.buf)), minio.PutObjectOptions{ServerSideEncryption: sse})
7388 if err != nil {
7389 logError(testName, function, args, startTime, "", "PutEncryptedObject failed", err)

Callers 1

mainFunction · 0.85

Calls 14

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
GetObjectMethod · 0.95
NewSSEFunction · 0.92
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logSuccessFunction · 0.85
LenMethod · 0.80
EqualMethod · 0.80
randStringFunction · 0.70

Tested by

no test coverage detected