ultisuite-backend/internal/mail/credentials/manager_test.go

31 lines
718 B
Go

package credentials
import (
"encoding/base64"
"testing"
)
func TestEncryptDecrypt(t *testing.T) {
key := base64.StdEncoding.EncodeToString([]byte("0123456789abcdef0123456789abcdef"))
manager, err := NewManager("v1:"+key, "v1")
if err != nil {
t.Fatalf("new manager: %v", err)
}
blob, err := manager.Encrypt("alice@example.com", "secret")
if err != nil {
t.Fatalf("encrypt: %v", err)
}
if !IsEncrypted(blob) {
t.Fatalf("expected encrypted blob prefix")
}
username, password, err := manager.Decrypt(blob)
if err != nil {
t.Fatalf("decrypt: %v", err)
}
if username != "alice@example.com" || password != "secret" {
t.Fatalf("unexpected decrypted credentials: %s/%s", username, password)
}
}