package crypto import ( "crypto/rand" "testing" ) func TestSign(t *testing.T) { privKey := make([]byte, 32) _, err := rand.Read(privKey) if err != nil { t.Fatal(err) } pubKey := MakePubKey(privKey) signature := SignMessage([]byte("hello"), privKey, pubKey) v1 := &Verify{ Message: []byte("hello"), PubKey: pubKey, Signature: signature, } ok := VerifyBatch([]*Verify{v1, v1, v1, v1}) if ok != true { t.Fatal("Expected ok == true") } if v1.Valid != true { t.Fatal("Expected v1.Valid to be true") } v2 := &Verify{ Message: []byte{0x73}, PubKey: pubKey, Signature: signature, } ok = VerifyBatch([]*Verify{v1, v1, v1, v2}) if ok != false { t.Fatal("Expected ok == false") } if v1.Valid != true { t.Fatal("Expected v1.Valid to be true") } if v2.Valid != false { t.Fatal("Expected v2.Valid to be true") } }