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

Function testSSECEncryptedGetObjectReadSeekFunctional

functional_tests.go:6457–6622  ·  view source on GitHub ↗

Tests SSE-C get object ReaderSeeker interface methods.

()

Source from the content-addressed store, hash-verified

6455
6456// Tests SSE-C get object ReaderSeeker interface methods.
6457func testSSECEncryptedGetObjectReadSeekFunctional() {
6458 // initialize logging params
6459 startTime := time.Now()
6460 testName := getFuncName()
6461 function := "GetObject(bucketName, objectName)"
6462 args := map[string]interface{}{}
6463
6464 c, err := NewClient(ClientConfig{})
6465 if err != nil {
6466 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
6467 return
6468 }
6469
6470 // Generate a new random bucket name.
6471 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
6472 args["bucketName"] = bucketName
6473
6474 // Make a new bucket.
6475 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
6476 if err != nil {
6477 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
6478 return
6479 }
6480
6481 defer func() {
6482 // Delete all objects and buckets
6483 if err = cleanupBucket(bucketName, c); err != nil {
6484 logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
6485 return
6486 }
6487 }()
6488
6489 // Generate 129MiB of data.
6490 bufSize := dataFileMap["datafile-129-MB"]
6491 reader := getDataReader("datafile-129-MB")
6492 defer reader.Close()
6493
6494 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
6495 args["objectName"] = objectName
6496
6497 buf, err := io.ReadAll(reader)
6498 if err != nil {
6499 logError(testName, function, args, startTime, "", "ReadAll failed", err)
6500 return
6501 }
6502
6503 // Save the data
6504 _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{
6505 ContentType: "binary/octet-stream",
6506 ServerSideEncryption: encrypt.DefaultPBKDF([]byte("correct horse battery staple"), []byte(bucketName+objectName)),
6507 })
6508 if err != nil {
6509 logError(testName, function, args, startTime, "", "PutObject failed", err)
6510 return
6511 }
6512
6513 // Read the data back
6514 r, err := c.GetObject(context.Background(), bucketName, objectName, minio.GetObjectOptions{

Callers 1

mainFunction · 0.85

Calls 15

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
GetObjectMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
getDataReaderFunction · 0.85
logSuccessFunction · 0.85
StatMethod · 0.80
EqualMethod · 0.80
randStringFunction · 0.70

Tested by

no test coverage detected