mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-06-28 15:27:43 +00:00
40 lines
871 B
Go
40 lines
871 B
Go
package server
|
|
import (
|
|
"testing"
|
|
"net/url"
|
|
"golang.org/x/crypto/nacl/box"
|
|
"crypto/rand"
|
|
)
|
|
|
|
func TestSealRequest(t *testing.T) {
|
|
senderPublic, senderPrivate, err := box.GenerateKey(rand.Reader)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
receiverPublic, receiverPrivate, err := box.GenerateKey(rand.Reader)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
messageBufferPool.New = New4KByteBuffer
|
|
|
|
values := url.Values{
|
|
"QuickBrownFox": []string{"LazyDog"},
|
|
}
|
|
|
|
box.Precompute(&backendSharedKey, receiverPublic, senderPrivate)
|
|
sealedValues, err := SealRequest(values)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
box.Precompute(&backendSharedKey, senderPublic, receiverPrivate)
|
|
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)
|
|
}
|
|
}
|