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

Function testSSECEncryptedGetObjectReadSeekFunctional

functional_tests.go:6353–6518  ·  view source on GitHub ↗

Tests SSE-C get object ReaderSeeker interface methods.

()

Source from the content-addressed store, hash-verified

6351
6352// Tests SSE-C get object ReaderSeeker interface methods.
6353func testSSECEncryptedGetObjectReadSeekFunctional() {
6354 // initialize logging params
6355 startTime := time.Now()
6356 testName := getFuncName()
6357 function := "GetObject(bucketName, objectName)"
6358 args := map[string]interface{}{}
6359
6360 c, err := NewClient(ClientConfig{})
6361 if err != nil {
6362 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
6363 return
6364 }
6365
6366 // Generate a new random bucket name.
6367 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
6368 args["bucketName"] = bucketName
6369
6370 // Make a new bucket.
6371 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
6372 if err != nil {
6373 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
6374 return
6375 }
6376
6377 defer func() {
6378 // Delete all objects and buckets
6379 if err = cleanupBucket(bucketName, c); err != nil {
6380 logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
6381 return
6382 }
6383 }()
6384
6385 // Generate 129MiB of data.
6386 bufSize := dataFileMap["datafile-129-MB"]
6387 reader := getDataReader("datafile-129-MB")
6388 defer reader.Close()
6389
6390 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
6391 args["objectName"] = objectName
6392
6393 buf, err := io.ReadAll(reader)
6394 if err != nil {
6395 logError(testName, function, args, startTime, "", "ReadAll failed", err)
6396 return
6397 }
6398
6399 // Save the data
6400 _, err = c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), minio.PutObjectOptions{
6401 ContentType: "binary/octet-stream",
6402 ServerSideEncryption: encrypt.DefaultPBKDF([]byte("correct horse battery staple"), []byte(bucketName+objectName)),
6403 })
6404 if err != nil {
6405 logError(testName, function, args, startTime, "", "PutObject failed", err)
6406 return
6407 }
6408
6409 // Read the data back
6410 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