testSSES3EncryptionPutGet tests SSE-S3 encryption
()
| 7330 | |
| 7331 | // testSSES3EncryptionPutGet tests SSE-S3 encryption |
| 7332 | func 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) |
no test coverage detected