zero-ppanel/pkg/cryptox/aes_test.go

35 lines
718 B
Go

package cryptox
import (
"testing"
)
func TestEncryptDecryptRoundtrip(t *testing.T) {
secret := "test-secret-key"
plain := []byte(`{"user_id":1,"action":"login"}`)
dataB64, nonce, err := Encrypt(plain, secret)
if err != nil {
t.Fatal(err)
}
got, err := Decrypt(dataB64, secret, nonce)
if err != nil {
t.Fatal(err)
}
if string(got) != string(plain) {
t.Fatalf("roundtrip mismatch: got %s", got)
}
}
func TestDecryptWrongNonce(t *testing.T) {
secret := "test-secret-key"
plain := []byte(`{"foo":"bar"}`)
dataB64, _, err := Encrypt(plain, secret)
if err != nil {
t.Fatal(err)
}
_, err = Decrypt(dataB64, secret, "wrongnonce")
if err == nil {
t.Fatal("expected error with wrong nonce")
}
}