initial commit of p2p package
This commit is contained in:
34
p2p/peer_error_handler_test.go
Normal file
34
p2p/peer_error_handler_test.go
Normal file
@ -0,0 +1,34 @@
|
||||
package p2p
|
||||
|
||||
import (
|
||||
// "fmt"
|
||||
"net"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestPeerErrorHandler(t *testing.T) {
|
||||
address := &net.TCPAddr{IP: net.IP([]byte{1, 2, 3, 4}), Port: 30303}
|
||||
peerDisconnect := make(chan DisconnectRequest)
|
||||
peerErrorChan := NewPeerErrorChannel()
|
||||
peh := NewPeerErrorHandler(address, peerDisconnect, peerErrorChan, NewBlacklist())
|
||||
peh.Start()
|
||||
defer peh.Stop()
|
||||
for i := 0; i < 11; i++ {
|
||||
select {
|
||||
case <-peerDisconnect:
|
||||
t.Errorf("expected no disconnect request")
|
||||
default:
|
||||
}
|
||||
peerErrorChan <- NewPeerError(MiscError, "")
|
||||
}
|
||||
time.Sleep(1 * time.Millisecond)
|
||||
select {
|
||||
case request := <-peerDisconnect:
|
||||
if request.addr.String() != address.String() {
|
||||
t.Errorf("incorrect address %v != %v", request.addr, address)
|
||||
}
|
||||
default:
|
||||
t.Errorf("expected disconnect request")
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user