fix statesync test

This commit is contained in:
William Banfield
2022-10-19 14:50:35 -04:00
parent 8644f69aa4
commit adbcd0c450
3 changed files with 13 additions and 4 deletions

View File

@@ -469,6 +469,7 @@ func TestSwitchStopPeerForError(t *testing.T) {
p := sw1.Peers().List()[0]
e := Envelope{
ChannelID: 0x1,
Message: &p2p.Message{},
}
p.Send(e)

View File

@@ -130,7 +130,6 @@ func (r *Reactor) Receive(chID byte, src p2p.Peer, msgBytes []byte) {
for _, snapshot := range snapshots {
r.Logger.Debug("Advertising snapshot", "height", snapshot.Height,
"format", snapshot.Format, "peer", src.ID())
m := mustEncodeMsg()
e := p2p.Envelope{
ChannelID: chID,
Message: toWrappedProto(&ssproto.SnapshotsResponse{

View File

@@ -4,6 +4,7 @@ import (
"testing"
"time"
"github.com/cosmos/gogoproto/proto"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
@@ -53,10 +54,18 @@ func TestReactor_Receive_ChunkRequest(t *testing.T) {
peer.On("ID").Return(p2p.ID("id"))
var response *ssproto.ChunkResponse
if tc.expectResponse != nil {
peer.On("Send", ChunkChannel, mock.Anything).Run(func(args mock.Arguments) {
msg, err := decodeMsg(args[1].([]byte))
peer.On("Send", mock.MatchedBy(func(i interface{}) bool {
e, ok := i.(p2p.Envelope)
return ok && e.ChannelID == ChunkChannel
})).Run(func(args mock.Arguments) {
e := args[0].(p2p.Envelope)
// Marshal to simulate a wire roundtrip.
bz, err := proto.Marshal(e.Message)
require.NoError(t, err)
response = msg.(*ssproto.ChunkResponse)
err = proto.Unmarshal(bz, e.Message)
require.NoError(t, err)
response = e.Message.(*ssproto.Message).GetChunkResponse()
}).Return(true)
}