From 4beaad7b57dc2f010195eaf605216a40d3c904fd Mon Sep 17 00:00:00 2001 From: Levi Durfee Date: Thu, 8 Jan 2026 13:31:00 -0500 Subject: Add another test --- internal/goaes_test.go | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'internal/goaes_test.go') 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") + } +} -- cgit v1.2.3