mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-25 20:21:21 +00:00
51 lines
1.2 KiB
Go
51 lines
1.2 KiB
Go
package p2p
|
|
|
|
import (
|
|
"math/rand"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
. "github.com/tendermint/go-common"
|
|
)
|
|
|
|
func TestBasic(t *testing.T) {
|
|
book := NewAddrBook(createTempFileName("addrbook"), true)
|
|
r := NewPEXReactor(book)
|
|
|
|
assert.NotNil(t, r)
|
|
assert.NotEmpty(t, r.GetChannels())
|
|
}
|
|
|
|
func TestAddRemovePeer(t *testing.T) {
|
|
book := NewAddrBook(createTempFileName("addrbook"), true)
|
|
r := NewPEXReactor(book)
|
|
|
|
size := book.Size()
|
|
peer := createRandomPeer(false)
|
|
|
|
r.AddPeer(peer)
|
|
assert.Equal(t, size+1, book.Size())
|
|
|
|
r.RemovePeer(peer, "peer not available")
|
|
assert.Equal(t, size, book.Size())
|
|
|
|
outboundPeer := createRandomPeer(true)
|
|
|
|
r.AddPeer(outboundPeer)
|
|
assert.Equal(t, size, book.Size(), "size must not change")
|
|
|
|
r.RemovePeer(outboundPeer, "peer not available")
|
|
assert.Equal(t, size, book.Size(), "size must not change")
|
|
}
|
|
|
|
func createRandomPeer(outbound bool) *Peer {
|
|
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),
|
|
},
|
|
outbound: outbound,
|
|
}
|
|
}
|