mirror of
https://github.com/libp2p/go-libp2p.git
synced 2025-10-21 07:11:33 +08:00
Make BasicHost.evtLocalAddrsUpdated event emitter stateful.
This commit is contained in:
@@ -28,6 +28,7 @@ import (
|
||||
|
||||
ma "github.com/multiformats/go-multiaddr"
|
||||
madns "github.com/multiformats/go-multiaddr-dns"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@@ -728,6 +729,26 @@ func TestAddrChangeImmediatelyIfAddressNonEmpty(t *testing.T) {
|
||||
require.Equal(t, taddrs, rc.Addrs)
|
||||
}
|
||||
|
||||
func TestStatefulAddrEvents(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
h := New(swarmt.GenSwarm(t, ctx))
|
||||
defer h.Close()
|
||||
|
||||
sub, err := h.EventBus().Subscribe(&event.EvtLocalAddressesUpdated{}, eventbus.BufSize(10))
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
defer sub.Close()
|
||||
|
||||
select {
|
||||
case v := <-sub.Out():
|
||||
assert.NotNil(t, v)
|
||||
|
||||
case <-time.After(time.Second * 5):
|
||||
t.Error("timed out waiting for event")
|
||||
}
|
||||
}
|
||||
|
||||
func TestHostAddrChangeDetection(t *testing.T) {
|
||||
// This test uses the address factory to provide several
|
||||
// sets of listen addresses for the host. It advances through
|
||||
|
Reference in New Issue
Block a user