test PEXReactor#Receive

This commit is contained in:
Anton Kalyaev 2017-01-12 15:16:51 +04:00 committed by Anton Kaliaev
parent 1a59b6a3b4
commit 47df1fb7d4
No known key found for this signature in database
GPG Key ID: 7B6881D965918214
1 changed files with 20 additions and 2 deletions

View File

@ -8,6 +8,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
. "github.com/tendermint/go-common"
wire "github.com/tendermint/go-wire"
)
func TestPEXReactorBasic(t *testing.T) {
@ -85,13 +86,30 @@ func TestPEXReactorRunning(t *testing.T) {
}
}
func TestPEXReactorReceive(t *testing.T) {
book := NewAddrBook(createTempFileName("addrbook"), true)
r := NewPEXReactor(book)
peer := createRandomPeer(false)
size := book.Size()
addrs := []*NetAddress{NewNetAddressString(peer.ListenAddr)}
msg := wire.BinaryBytes(struct{ PexMessage }{&pexAddrsMessage{Addrs: addrs}})
r.Receive(PexChannel, peer, msg)
assert.Equal(t, size+1, book.Size())
msg = wire.BinaryBytes(struct{ PexMessage }{&pexRequestMessage{}})
r.Receive(PexChannel, peer, msg)
}
func createRandomPeer(outbound bool) *Peer {
addr := Fmt("%v.%v.%v.%v:46656", rand.Int()%256, rand.Int()%256, rand.Int()%256, rand.Int()%256)
return &Peer{
Key: RandStr(12),
NodeInfo: &NodeInfo{
RemoteAddr: Fmt("%v.%v.%v.%v:46656", rand.Int()%256, rand.Int()%256, rand.Int()%256, rand.Int()%256),
ListenAddr: Fmt("%v.%v.%v.%v:46656", rand.Int()%256, rand.Int()%256, rand.Int()%256, rand.Int()%256),
ListenAddr: addr,
},
outbound: outbound,
mconn: &MConnection{RemoteAddress: NewNetAddressString(addr)},
}
}