mirror of
https://github.com/argoproj/argo-cd
synced 2026-04-22 01:17:16 +00:00
45 lines
859 B
Go
45 lines
859 B
Go
package crypto
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func newKey() ([]byte, error) {
|
|
b := make([]byte, 32)
|
|
_, err := rand.Read(b)
|
|
if err != nil {
|
|
b = nil
|
|
}
|
|
return b, err
|
|
}
|
|
|
|
func TestEncryptDecrypt_Successful(t *testing.T) {
|
|
t.Parallel()
|
|
key, err := newKey()
|
|
require.NoError(t, err)
|
|
encrypted, err := Encrypt([]byte("test"), key)
|
|
require.NoError(t, err)
|
|
|
|
decrypted, err := Decrypt(encrypted, key)
|
|
require.NoError(t, err)
|
|
|
|
assert.Equal(t, "test", string(decrypted))
|
|
}
|
|
|
|
func TestEncryptDecrypt_Failed(t *testing.T) {
|
|
t.Parallel()
|
|
key, err := newKey()
|
|
require.NoError(t, err)
|
|
encrypted, err := Encrypt([]byte("test"), key)
|
|
require.NoError(t, err)
|
|
|
|
wrongKey, err := newKey()
|
|
require.NoError(t, err)
|
|
|
|
_, err = Decrypt(encrypted, wrongKey)
|
|
assert.Error(t, err)
|
|
}
|