aboutsummaryrefslogtreecommitdiffstats
path: root/whisper/message_test.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2015-04-10 18:46:08 +0800
committerPéter Szilágyi <peterke@gmail.com>2015-04-10 18:46:08 +0800
commit7e54a9c07f10ff16aabfe8bd3944c9309d4efc06 (patch)
tree72024bdd40999c0e555851b3778e30b63f46be4b /whisper/message_test.go
parenta4c8e947b0f4a07e851f7c8b420874ac411fdb69 (diff)
downloadgo-tangerine-7e54a9c07f10ff16aabfe8bd3944c9309d4efc06.tar.gz
go-tangerine-7e54a9c07f10ff16aabfe8bd3944c9309d4efc06.tar.zst
go-tangerine-7e54a9c07f10ff16aabfe8bd3944c9309d4efc06.zip
whisper: rename test file according to Go style
Diffstat (limited to 'whisper/message_test.go')
-rw-r--r--whisper/message_test.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/whisper/message_test.go b/whisper/message_test.go
new file mode 100644
index 000000000..93caa31b3
--- /dev/null
+++ b/whisper/message_test.go
@@ -0,0 +1,50 @@
+package whisper
+
+import (
+ "bytes"
+ "crypto/elliptic"
+ "fmt"
+ "testing"
+
+ "github.com/ethereum/go-ethereum/crypto"
+)
+
+func TestSign(t *testing.T) {
+ prv, _ := crypto.GenerateKey()
+ msg := NewMessage([]byte("hello world"))
+ msg.sign(prv)
+
+ pubKey := msg.Recover()
+ p1 := elliptic.Marshal(crypto.S256(), prv.PublicKey.X, prv.PublicKey.Y)
+ p2 := elliptic.Marshal(crypto.S256(), pubKey.X, pubKey.Y)
+
+ if !bytes.Equal(p1, p2) {
+ t.Error("recovered pub key did not match")
+ }
+}
+
+func TestMessageEncryptDecrypt(t *testing.T) {
+ prv1, _ := crypto.GenerateKey()
+ prv2, _ := crypto.GenerateKey()
+
+ data := []byte("hello world")
+ msg := NewMessage(data)
+ envelope, err := msg.Seal(DefaultPow, Opts{
+ From: prv1,
+ To: &prv2.PublicKey,
+ })
+ if err != nil {
+ fmt.Println(err)
+ t.FailNow()
+ }
+
+ msg1, err := envelope.Open(prv2)
+ if err != nil {
+ t.Error(err)
+ t.FailNow()
+ }
+
+ if !bytes.Equal(msg1.Payload, data) {
+ t.Error("encryption error. data did not match")
+ }
+}