prysm-pulse/beacon-chain/sync/error_test.go
Preston Van Loon 8d234014a4
Fix broadcast ssz (#3423)
* add two types of encoding/decoding ssz

* fix tests

* lint

* lint
2019-09-08 19:34:52 -07:00

36 lines
880 B
Go

package sync
import (
"bytes"
"testing"
p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
)
func TestRegularSync_generateErrorResponse(t *testing.T) {
r := &RegularSync{
p2p: p2ptest.NewTestP2P(t),
}
data, err := r.generateErrorResponse(responseCodeServerError, "something bad happened")
if err != nil {
t.Fatal(err)
}
buf := bytes.NewBuffer(data)
b := make([]byte, 1)
if _, err := buf.Read(b); err != nil {
t.Fatal(err)
}
if b[0] != responseCodeServerError {
t.Errorf("The first byte was not the status code. Got %#x wanted %#x", b, responseCodeServerError)
}
msg := &pb.ErrorMessage{}
if err := r.p2p.Encoding().DecodeWithLength(buf, msg); err != nil {
t.Fatal(err)
}
if msg.ErrorMessage != "something bad happened" {
t.Errorf("Received the wrong message: %v", msg)
}
}