use the peer struct to simulate remote peer

This commit is contained in:
Anton Kaliaev
2017-04-13 12:09:43 +04:00
parent a63e1bb2dc
commit 715b8c629f

View File

@ -9,9 +9,7 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
cmn "github.com/tendermint/go-common"
crypto "github.com/tendermint/go-crypto" crypto "github.com/tendermint/go-crypto"
wire "github.com/tendermint/go-wire"
) )
func TestPeerStartStop(t *testing.T) { func TestPeerStartStop(t *testing.T) {
@ -43,7 +41,7 @@ func createPeerAndPerformHandshake(addr *NetAddress) (*Peer, error) {
} }
err = p.HandshakeTimeout(&NodeInfo{ err = p.HandshakeTimeout(&NodeInfo{
PubKey: pk.PubKey().(crypto.PubKeyEd25519), PubKey: pk.PubKey().(crypto.PubKeyEd25519),
Moniker: "remote_peer", Moniker: "host_peer",
Network: "testing", Network: "testing",
Version: "123.123.123", Version: "123.123.123",
}, 1*time.Second) }, 1*time.Second)
@ -83,32 +81,18 @@ func (p *remotePeer) accept(l net.Listener) {
if err != nil { if err != nil {
golog.Fatalf("Failed to accept conn: %+v", err) golog.Fatalf("Failed to accept conn: %+v", err)
} }
conn, err = MakeSecretConnection(conn, p.PrivKey) peer, err := newPeerFromExistingConn(conn, false, make(map[byte]Reactor), make([]*ChannelDescriptor, 0), func(p *Peer, r interface{}) {}, p.PrivKey)
if err != nil { if err != nil {
golog.Fatalf("Failed to make secret conn: %+v", err) golog.Fatalf("Failed to create a peer: %+v", err)
} }
var err1, err2 error err = peer.HandshakeTimeout(&NodeInfo{
nodeInfo := new(NodeInfo) PubKey: p.PrivKey.PubKey().(crypto.PubKeyEd25519),
cmn.Parallel( Moniker: "remote_peer",
func() { Network: "testing",
var n int Version: "123.123.123",
ourNodeInfo := &NodeInfo{ }, 1*time.Second)
PubKey: p.PrivKey.PubKey().(crypto.PubKeyEd25519), if err != nil {
Moniker: "remote_peer", golog.Fatalf("Failed to perform handshake: %+v", err)
Network: "testing",
Version: "123.123.123",
}
wire.WriteBinary(ourNodeInfo, conn, &n, &err1)
},
func() {
var n int
wire.ReadBinary(nodeInfo, conn, maxNodeInfoSize, &n, &err2)
})
if err1 != nil {
golog.Fatalf("Failed to do handshake: %+v", err1)
}
if err2 != nil {
golog.Fatalf("Failed to do handshake: %+v", err2)
} }
select { select {
case <-p.quit: case <-p.quit: