2016-01-23 03:15:39 +08:00
|
|
|
package util
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
2020-08-13 17:10:48 +08:00
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/stretchr/testify/require"
|
2016-01-23 03:15:39 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestEncryption(t *testing.T) {
|
2020-08-13 17:10:48 +08:00
|
|
|
t.Run("getting encryption key", func(t *testing.T) {
|
2019-10-23 16:40:12 +08:00
|
|
|
key, err := encryptionKeyToBytes("secret", "salt")
|
2020-08-13 17:10:48 +08:00
|
|
|
require.NoError(t, err)
|
|
|
|
assert.Len(t, key, 32)
|
2016-01-23 03:15:39 +08:00
|
|
|
|
2019-10-23 16:40:12 +08:00
|
|
|
key, err = encryptionKeyToBytes("a very long secret key that is larger then 32bytes", "salt")
|
2020-08-13 17:10:48 +08:00
|
|
|
require.NoError(t, err)
|
|
|
|
assert.Len(t, key, 32)
|
2016-01-23 03:15:39 +08:00
|
|
|
})
|
|
|
|
|
2020-08-13 17:10:48 +08:00
|
|
|
t.Run("decrypting basic payload", func(t *testing.T) {
|
|
|
|
encrypted, err := Encrypt([]byte("grafana"), "1234")
|
|
|
|
require.NoError(t, err)
|
2016-01-23 03:15:39 +08:00
|
|
|
|
2020-08-13 17:10:48 +08:00
|
|
|
decrypted, err := Decrypt(encrypted, "1234")
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
assert.Equal(t, []byte("grafana"), decrypted)
|
2016-01-23 03:15:39 +08:00
|
|
|
})
|
|
|
|
}
|