1
0
Fork 0
mirror of https://github.com/binwiederhier/ntfy.git synced 2024-09-29 03:41:59 +02:00
ntfy/crypto/crypto_test.go

32 lines
1.2 KiB
Go
Raw Normal View History

2022-07-01 21:48:49 +02:00
package crypto
import (
"github.com/stretchr/testify/require"
"testing"
)
func TestEncryptDecrypt(t *testing.T) {
message := "this is a message or is it?"
ciphertext, err := Encrypt(message, []byte("AES256Key-32Characters1234567890"))
require.Nil(t, err)
plaintext, err := Decrypt(ciphertext, []byte("AES256Key-32Characters1234567890"))
require.Nil(t, err)
require.Equal(t, message, plaintext)
}
2022-07-06 04:58:43 +02:00
func TestEncryptDecrypt_FromPHP(t *testing.T) {
ciphertext := "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..vbe1Qv_-mKYbUgce.EfmOUIUi7lxXZG_o4bqXZ9pmpr1Rzs4Y5QLE2XD2_aw_SQ.y2hadrN5b2LEw7_PJHhbcA"
key := DeriveKey("secr3t password", "https://ntfy.sh/mysecret")
plaintext, err := Decrypt(ciphertext, key)
2022-07-01 21:48:49 +02:00
require.Nil(t, err)
2022-07-06 04:58:43 +02:00
require.Equal(t, `{"message":"Secret!","priority":5}`, plaintext)
2022-07-01 21:48:49 +02:00
}
2022-07-06 04:58:43 +02:00
func TestEncryptDecrypt_FromPython(t *testing.T) {
ciphertext := "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..gSRYZeX6eBhlj13w.LOchcxFXwALXE2GqdoSwFJEXdMyEbLfLKV9geXr17WrAN-nH7ya1VQ_Y6ebT1w.2eyLaTUfc_rpKaZr4-5I1Q"
key := DeriveKey("secr3t password", "https://ntfy.sh/mysecret")
plaintext, err := Decrypt(ciphertext, key)
2022-07-01 21:48:49 +02:00
require.Nil(t, err)
2022-07-06 04:58:43 +02:00
require.Equal(t, `{"message":"Python says hi","tags":["secret"]}`, plaintext)
2022-07-01 21:48:49 +02:00
}