diff options
| author | Levi Durfee <levi.durfee@gmail.com> | 2026-01-08 13:31:00 -0500 |
|---|---|---|
| committer | Levi Durfee <levi.durfee@gmail.com> | 2026-01-08 13:31:03 -0500 |
| commit | 4beaad7b57dc2f010195eaf605216a40d3c904fd (patch) | |
| tree | 04522945c5e7b7d763c067edb983874f8a7a7eba | |
| parent | 366ce66fae249e809f024fa6893dc0fe30fca478 (diff) | |
Add another test
| -rw-r--r-- | internal/goaes_test.go | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/internal/goaes_test.go b/internal/goaes_test.go index 966efc2..5d45641 100644 --- a/internal/goaes_test.go +++ b/internal/goaes_test.go @@ -1,6 +1,7 @@ package internal_test import ( + "bytes" "fmt" "os" "testing" @@ -11,6 +12,7 @@ import ( const ( totalIterationTests = 10 minSize = 32 + validPassphrase = "dJyHOdMbG94EMvQGQrs6YZiXGiAGQgDYtx6+eqLufQg=" ) func TestNewDEK(t *testing.T) { @@ -54,7 +56,7 @@ func TestNewKEKFromEnvB64(t *testing.T) { { name: "Valid base64", passphraseEnvVar: "GOAES_PASSPHRASE", - passphrase: "dJyHOdMbG94EMvQGQrs6YZiXGiAGQgDYtx6+eqLufQg=", + passphrase: validPassphrase, salt: []byte("kD+tNSxjss1XchcyyrKJyZBGg2mdmhh/IO3I87WW2Ds="), wantErr: false, }, @@ -65,6 +67,13 @@ func TestNewKEKFromEnvB64(t *testing.T) { salt: []byte("kD+tNSxjss1XchcyyrKJyZBGg2mdmhh/IO3I87WW2Ds="), wantErr: true, }, + { + name: "Empty seed", + passphraseEnvVar: "GOAES_PASSPHRASE", + passphrase: validPassphrase, + salt: []byte(""), + wantErr: false, + }, } for _, tt := range tests { @@ -89,3 +98,32 @@ func TestNewKEKFromEnvB64(t *testing.T) { }) } } + +func TestWrapDEK(t *testing.T) { + err := os.Setenv("GOAES_PASSPHRASE", validPassphrase) + if err != nil { + t.Fatal("failed to get env var") + } + + kek, err := internal.NewKEKFromEnvB64( + "GOAES_PASSPHRASE", + []byte("salt"), + ) + if err != nil { + t.Fatalf("failed to create kek. error %v", err) + } + + dek, err := internal.NewDEK() + if err != nil { + t.Fatalf("failed to create dek. error %v", err) + } + + edek, err := internal.WrapDEK(dek, kek) + if err != nil { + t.Fatalf("failed to create edek. error %v", err) + } + + if bytes.Equal(dek, edek) { + t.Error("dek should not be the same as edek") + } +} |
