diff --git a/libp2p_test.go b/libp2p_test.go index 1b38bbc36..f4f442764 100644 --- a/libp2p_test.go +++ b/libp2p_test.go @@ -8,6 +8,7 @@ import ( crypto "github.com/libp2p/go-libp2p-crypto" host "github.com/libp2p/go-libp2p-host" + "github.com/libp2p/go-tcp-transport" ) func TestNewHost(t *testing.T) { @@ -39,6 +40,39 @@ func TestInsecure(t *testing.T) { h.Close() } +func TestDefaultListenAddrs(t *testing.T) { + ctx := context.Background() + + // Test 1: Listen addr should not set if user defined transport is passed. + h, err := New( + ctx, + Transport(tcp.TcpTransport{}), + ) + if err != nil { + t.Fatal(err) + } + + if len(h.Addrs()) != 0 { + t.Error("expected zero listen addrs as none is set with user defined transport") + } + h.Close() + + // Test 2: User defined listener addrs should overwrite the default options. + h, err = New( + ctx, + Transport(tcp.TcpTransport{}), + ListenAddrStrings("/ip4/127.0.0.1/tcp/0"), + ) + if err != nil { + t.Fatal(err) + } + + if len(h.Addrs()) != 1 { + t.Error("expected one listen addr") + } + h.Close() +} + func makeRandomHost(t *testing.T, port int) (host.Host, error) { ctx := context.Background() priv, _, err := crypto.GenerateKeyPair(crypto.RSA, 2048)