github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/sync/error_test.go (about) 1 package sync 2 3 import ( 4 "bytes" 5 "testing" 6 7 p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" 8 "github.com/prysmaticlabs/prysm/beacon-chain/p2p/types" 9 "github.com/prysmaticlabs/prysm/shared/testutil/assert" 10 "github.com/prysmaticlabs/prysm/shared/testutil/require" 11 ) 12 13 func TestRegularSync_generateErrorResponse(t *testing.T) { 14 r := &Service{ 15 cfg: &Config{P2P: p2ptest.NewTestP2P(t)}, 16 } 17 data, err := r.generateErrorResponse(responseCodeServerError, "something bad happened") 18 require.NoError(t, err) 19 20 buf := bytes.NewBuffer(data) 21 b := make([]byte, 1) 22 _, err = buf.Read(b) 23 require.NoError(t, err) 24 assert.Equal(t, responseCodeServerError, b[0], "The first byte was not the status code") 25 msg := &types.ErrorMessage{} 26 require.NoError(t, r.cfg.P2P.Encoding().DecodeWithMaxLength(buf, msg)) 27 assert.Equal(t, "something bad happened", string(*msg), "Received the wrong message") 28 }