mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-29 04:31:44 +00:00
p2p: fix tests for required channels
This commit is contained in:
@ -240,6 +240,9 @@ func (p *peer) hasChannel(chID byte) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// NOTE: probably will want to remove this
|
||||||
|
// but could be helpful while the feature is new
|
||||||
|
p.Logger.Debug("Unknown channel for peer", "channel", chID, "channels", p.channels)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,6 +13,8 @@ import (
|
|||||||
tmconn "github.com/tendermint/tendermint/p2p/conn"
|
tmconn "github.com/tendermint/tendermint/p2p/conn"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const testCh = 0x01
|
||||||
|
|
||||||
func TestPeerBasic(t *testing.T) {
|
func TestPeerBasic(t *testing.T) {
|
||||||
assert, require := assert.New(t), require.New(t)
|
assert, require := assert.New(t), require.New(t)
|
||||||
|
|
||||||
@ -77,25 +79,26 @@ func TestPeerSend(t *testing.T) {
|
|||||||
|
|
||||||
defer p.Stop()
|
defer p.Stop()
|
||||||
|
|
||||||
assert.True(p.CanSend(0x01))
|
assert.True(p.CanSend(testCh))
|
||||||
assert.True(p.Send(0x01, "Asylum"))
|
assert.True(p.Send(testCh, "Asylum"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func createOutboundPeerAndPerformHandshake(addr *NetAddress, config *PeerConfig) (*peer, error) {
|
func createOutboundPeerAndPerformHandshake(addr *NetAddress, config *PeerConfig) (*peer, error) {
|
||||||
chDescs := []*tmconn.ChannelDescriptor{
|
chDescs := []*tmconn.ChannelDescriptor{
|
||||||
{ID: 0x01, Priority: 1},
|
{ID: testCh, Priority: 1},
|
||||||
}
|
}
|
||||||
reactorsByCh := map[byte]Reactor{0x01: NewTestReactor(chDescs, true)}
|
reactorsByCh := map[byte]Reactor{testCh: NewTestReactor(chDescs, true)}
|
||||||
pk := crypto.GenPrivKeyEd25519().Wrap()
|
pk := crypto.GenPrivKeyEd25519().Wrap()
|
||||||
p, err := newOutboundPeer(addr, reactorsByCh, chDescs, func(p Peer, r interface{}) {}, pk, config, false)
|
p, err := newOutboundPeer(addr, reactorsByCh, chDescs, func(p Peer, r interface{}) {}, pk, config, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
err = p.HandshakeTimeout(NodeInfo{
|
err = p.HandshakeTimeout(NodeInfo{
|
||||||
PubKey: pk.PubKey(),
|
PubKey: pk.PubKey(),
|
||||||
Moniker: "host_peer",
|
Moniker: "host_peer",
|
||||||
Network: "testing",
|
Network: "testing",
|
||||||
Version: "123.123.123",
|
Version: "123.123.123",
|
||||||
|
Channels: []byte{testCh},
|
||||||
}, 1*time.Second)
|
}, 1*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -148,6 +151,7 @@ func (p *remotePeer) accept(l net.Listener) {
|
|||||||
Network: "testing",
|
Network: "testing",
|
||||||
Version: "123.123.123",
|
Version: "123.123.123",
|
||||||
ListenAddr: l.Addr().String(),
|
ListenAddr: l.Addr().String(),
|
||||||
|
Channels: []byte{testCh},
|
||||||
}, 1*time.Second)
|
}, 1*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
golog.Fatalf("Failed to perform handshake: %+v", err)
|
golog.Fatalf("Failed to perform handshake: %+v", err)
|
||||||
|
@ -132,16 +132,20 @@ func MakeSwitch(cfg *cfg.P2PConfig, i int, network, version string, initSwitch f
|
|||||||
nodeKey := &NodeKey{
|
nodeKey := &NodeKey{
|
||||||
PrivKey: crypto.GenPrivKeyEd25519().Wrap(),
|
PrivKey: crypto.GenPrivKeyEd25519().Wrap(),
|
||||||
}
|
}
|
||||||
s := NewSwitch(cfg)
|
sw := NewSwitch(cfg)
|
||||||
s.SetLogger(log.TestingLogger())
|
sw.SetLogger(log.TestingLogger())
|
||||||
s = initSwitch(i, s)
|
sw = initSwitch(i, sw)
|
||||||
s.SetNodeInfo(NodeInfo{
|
ni := NodeInfo{
|
||||||
PubKey: nodeKey.PubKey(),
|
PubKey: nodeKey.PubKey(),
|
||||||
Moniker: cmn.Fmt("switch%d", i),
|
Moniker: cmn.Fmt("switch%d", i),
|
||||||
Network: network,
|
Network: network,
|
||||||
Version: version,
|
Version: version,
|
||||||
ListenAddr: cmn.Fmt("%v:%v", network, rand.Intn(64512)+1023),
|
ListenAddr: cmn.Fmt("%v:%v", network, rand.Intn(64512)+1023),
|
||||||
})
|
}
|
||||||
s.SetNodeKey(nodeKey)
|
for ch, _ := range sw.reactorsByCh {
|
||||||
return s
|
ni.Channels = append(ni.Channels, ch)
|
||||||
|
}
|
||||||
|
sw.SetNodeInfo(ni)
|
||||||
|
sw.SetNodeKey(nodeKey)
|
||||||
|
return sw
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user