mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-06-28 15:27:43 +00:00
45 lines
975 B
Go
45 lines
975 B
Go
package server
|
|
import (
|
|
"testing"
|
|
"net/url"
|
|
"golang.org/x/crypto/nacl/box"
|
|
"crypto/rand"
|
|
)
|
|
|
|
func SetupRandomKeys(t testing.TB) {
|
|
_, senderPrivate, err := box.GenerateKey(rand.Reader)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
receiverPublic, _, err := box.GenerateKey(rand.Reader)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
box.Precompute(&backendSharedKey, receiverPublic, senderPrivate)
|
|
messageBufferPool.New = New4KByteBuffer
|
|
}
|
|
|
|
func TestSealRequest(t *testing.T) {
|
|
SetupRandomKeys(t)
|
|
|
|
values := url.Values{
|
|
"QuickBrownFox": []string{"LazyDog"},
|
|
}
|
|
|
|
sealedValues, err := SealRequest(values)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
// sealedValues.Encode()
|
|
// id=0&msg=KKtbng49dOLLyjeuX5AnXiEe6P0uZwgeP_7mMB5vhP-wMAAPZw%3D%3D&nonce=-wRbUnifscisWUvhm3gBEXHN5QzrfzgV
|
|
|
|
unsealedValues, err := UnsealRequest(sealedValues)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if unsealedValues.Get("QuickBrownFox") != "LazyDog" {
|
|
t.Errorf("Failed to round-trip, got back %v", unsealedValues)
|
|
}
|
|
}
|