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