(t *testing.T)
| 401 | } |
| 402 | |
| 403 | func TestPostPolicySetEncryption(t *testing.T) { |
| 404 | tests := []struct { |
| 405 | name string |
| 406 | sseType string |
| 407 | keyID string |
| 408 | want map[string]string |
| 409 | }{ |
| 410 | { |
| 411 | name: "SSE-S3 encryption", |
| 412 | sseType: "SSE-S3", |
| 413 | keyID: "my-key-id", |
| 414 | want: map[string]string{ |
| 415 | "X-Amz-Server-Side-Encryption": "aws:kms", |
| 416 | "X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id": "my-key-id", |
| 417 | }, |
| 418 | }, |
| 419 | { |
| 420 | name: "SSE-C encryption with Key ID", |
| 421 | sseType: "SSE-C", |
| 422 | keyID: "my-key-id", |
| 423 | want: map[string]string{ |
| 424 | "X-Amz-Server-Side-Encryption-Customer-Key": "bXktc2VjcmV0LWtleTEyMzQ1Njc4OTBhYmNkZWZnaGk=", |
| 425 | "X-Amz-Server-Side-Encryption-Customer-Key-Md5": "T1mefJwyXBH43sRtfEgRZQ==", |
| 426 | "X-Amz-Server-Side-Encryption-Customer-Algorithm": "AES256", |
| 427 | }, |
| 428 | }, |
| 429 | } |
| 430 | for _, tt := range tests { |
| 431 | t.Run(tt.name, func(t *testing.T) { |
| 432 | pp := NewPostPolicy() |
| 433 | |
| 434 | var sse encrypt.ServerSide |
| 435 | var err error |
| 436 | switch tt.sseType { |
| 437 | case "SSE-S3": |
| 438 | sse, err = encrypt.NewSSEKMS(tt.keyID, nil) |
| 439 | if err != nil { |
| 440 | t.Fatalf("Failed to create SSE-KMS: %v", err) |
| 441 | } |
| 442 | case "SSE-C": |
| 443 | sse, err = encrypt.NewSSEC([]byte("my-secret-key1234567890abcdefghi")) |
| 444 | if err != nil { |
| 445 | t.Fatalf("Failed to create SSE-C: %v", err) |
| 446 | } |
| 447 | default: |
| 448 | t.Fatalf("Unknown SSE type: %s", tt.sseType) |
| 449 | } |
| 450 | |
| 451 | pp.SetEncryption(sse) |
| 452 | |
| 453 | for k, v := range tt.want { |
| 454 | if pp.formData[k] != v { |
| 455 | t.Errorf("%s: want %s: %s, got: %s", tt.name, k, v, pp.formData[k]) |
| 456 | } |
| 457 | } |
| 458 | }) |
| 459 | } |
| 460 | } |
nothing calls this directly
no test coverage detected