prysm-pulse/beacon-chain/sync/error_test.go
2019-12-16 19:53:55 -06:00

35 lines
812 B
Go

package sync
import (
"bytes"
"testing"
p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
)
func TestRegularSync_generateErrorResponse(t *testing.T) {
r := &Service{
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 := make([]byte, 0)
if err := r.p2p.Encoding().DecodeWithLength(buf, &msg); err != nil {
t.Fatal(err)
}
if string(msg) != "something bad happened" {
t.Errorf("Received the wrong message: %v", msg)
}
}