tendermint/peer/connection_test.go
Jae Kwon c895c6a586 .
2014-06-25 21:37:20 -07:00

53 lines
1.1 KiB
Go

package peer
import (
. "github.com/tendermint/tendermint/binary"
"testing"
"time"
)
func TestLocalConnection(t *testing.T) {
c1 := NewClient(func(conn *Connection) *Peer {
p := &Peer{conn: conn}
ch1 := NewChannel(String("ch1"),
nil,
// XXX these channels should be buffered.
make(chan Msg),
make(chan Msg),
)
ch2 := NewChannel(String("ch2"),
nil,
make(chan Msg),
make(chan Msg),
)
channels := make(map[String]*Channel)
channels[ch1.Name()] = ch1
channels[ch2.Name()] = ch2
p.channels = channels
return p
})
// XXX make c2 like c1.
c2 := NewClient(func(conn *Connection) *Peer {
return nil
})
// XXX clients don't have "local addresses"
c1.ConnectTo(c2.LocalAddress())
// lets send a message from c1 to c2.
c1.Broadcast(String(""), String("message"))
time.Sleep(500 * time.Millisecond)
inMsg := c2.PopMessage(String(""))
c1.Stop()
c2.Stop()
}