Tests SSE-C get object ReaderSeeker interface methods.
()
| 6455 | |
| 6456 | // Tests SSE-C get object ReaderSeeker interface methods. |
| 6457 | func 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{ |
no test coverage detected