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

Function TestPostPolicySetEncryption

post-policy_test.go:403–460  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

401}
402
403func 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}

Callers

nothing calls this directly

Calls 4

SetEncryptionMethod · 0.95
NewSSEKMSFunction · 0.92
NewSSECFunction · 0.92
NewPostPolicyFunction · 0.85

Tested by

no test coverage detected