Commit fe34d3fe authored by Janos Guljas's avatar Janos Guljas

add more libp2p tests

parent 06680c4f
...@@ -18,6 +18,7 @@ import ( ...@@ -18,6 +18,7 @@ import (
"github.com/ethersphere/bee/pkg/p2p" "github.com/ethersphere/bee/pkg/p2p"
"github.com/ethersphere/bee/pkg/p2p/libp2p" "github.com/ethersphere/bee/pkg/p2p/libp2p"
"github.com/ethersphere/bee/pkg/swarm" "github.com/ethersphere/bee/pkg/swarm"
"github.com/multiformats/go-multiaddr"
) )
func TestAddresses(t *testing.T) { func TestAddresses(t *testing.T) {
...@@ -43,11 +44,7 @@ func TestConnectDisconnect(t *testing.T) { ...@@ -43,11 +44,7 @@ func TestConnectDisconnect(t *testing.T) {
s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1}) s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1})
defer cleanup2() defer cleanup2()
addrs, err := s1.Addresses() addr := serviceUnderlayAddress(t, s1)
if err != nil {
t.Fatal(err)
}
addr := addrs[0]
overlay, err := s2.Connect(ctx, addr) overlay, err := s2.Connect(ctx, addr)
if err != nil { if err != nil {
...@@ -75,11 +72,7 @@ func TestDoubleConnect(t *testing.T) { ...@@ -75,11 +72,7 @@ func TestDoubleConnect(t *testing.T) {
s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1}) s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1})
defer cleanup2() defer cleanup2()
addrs, err := s1.Addresses() addr := serviceUnderlayAddress(t, s1)
if err != nil {
t.Fatal(err)
}
addr := addrs[0]
if _, err := s2.Connect(ctx, addr); err != nil { if _, err := s2.Connect(ctx, addr); err != nil {
t.Fatal(err) t.Fatal(err)
...@@ -106,11 +99,7 @@ func TestDoubleDisconnect(t *testing.T) { ...@@ -106,11 +99,7 @@ func TestDoubleDisconnect(t *testing.T) {
s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1}) s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1})
defer cleanup2() defer cleanup2()
addrs, err := s1.Addresses() addr := serviceUnderlayAddress(t, s1)
if err != nil {
t.Fatal(err)
}
addr := addrs[0]
overlay, err := s2.Connect(ctx, addr) overlay, err := s2.Connect(ctx, addr)
if err != nil { if err != nil {
...@@ -145,11 +134,7 @@ func TestReconnectAfterDoubleConnect(t *testing.T) { ...@@ -145,11 +134,7 @@ func TestReconnectAfterDoubleConnect(t *testing.T) {
s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1}) s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1})
defer cleanup2() defer cleanup2()
addrs, err := s1.Addresses() addr := serviceUnderlayAddress(t, s1)
if err != nil {
t.Fatal(err)
}
addr := addrs[0]
overlay, err := s2.Connect(ctx, addr) overlay, err := s2.Connect(ctx, addr)
if err != nil { if err != nil {
...@@ -188,11 +173,7 @@ func TestMultipleConnectDisconnect(t *testing.T) { ...@@ -188,11 +173,7 @@ func TestMultipleConnectDisconnect(t *testing.T) {
s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1}) s2, overlay2, cleanup2 := newService(t, libp2p.Options{NetworkID: 1})
defer cleanup2() defer cleanup2()
addrs, err := s1.Addresses() addr := serviceUnderlayAddress(t, s1)
if err != nil {
t.Fatal(err)
}
addr := addrs[0]
overlay, err := s2.Connect(ctx, addr) overlay, err := s2.Connect(ctx, addr)
if err != nil { if err != nil {
...@@ -298,11 +279,7 @@ func TestDifferentNetworkIDs(t *testing.T) { ...@@ -298,11 +279,7 @@ func TestDifferentNetworkIDs(t *testing.T) {
s2, _, cleanup2 := newService(t, libp2p.Options{NetworkID: 2}) s2, _, cleanup2 := newService(t, libp2p.Options{NetworkID: 2})
defer cleanup2() defer cleanup2()
addrs, err := s1.Addresses() addr := serviceUnderlayAddress(t, s1)
if err != nil {
t.Fatal(err)
}
addr := addrs[0]
if _, err := s2.Connect(ctx, addr); err == nil { if _, err := s2.Connect(ctx, addr); err == nil {
t.Fatal("connect attempt should result with an error") t.Fatal("connect attempt should result with an error")
...@@ -342,6 +319,34 @@ func TestBootnodes(t *testing.T) { ...@@ -342,6 +319,34 @@ func TestBootnodes(t *testing.T) {
expectPeers(t, s2, overlay3) expectPeers(t, s2, overlay3)
} }
func TestConnectWithDisabledQUICAndWSTransports(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
s1, overlay1, cleanup1 := newService(t, libp2p.Options{
NetworkID: 1,
DisableQUIC: true,
DisableWS: true,
})
defer cleanup1()
s2, overlay2, cleanup2 := newService(t, libp2p.Options{
NetworkID: 1,
DisableQUIC: true,
DisableWS: true,
})
defer cleanup2()
addr := serviceUnderlayAddress(t, s1)
if _, err := s2.Connect(ctx, addr); err != nil {
t.Fatal(err)
}
expectPeers(t, s2, overlay1)
expectPeersEventually(t, s1, overlay2)
}
// newService constructs a new libp2p service. // newService constructs a new libp2p service.
func newService(t *testing.T, o libp2p.Options) (s *libp2p.Service, overlay swarm.Address, cleanup func()) { func newService(t *testing.T, o libp2p.Options) (s *libp2p.Service, overlay swarm.Address, cleanup func()) {
t.Helper() t.Helper()
...@@ -447,3 +452,13 @@ func expectPeersEventually(t *testing.T, s *libp2p.Service, addrs ...swarm.Addre ...@@ -447,3 +452,13 @@ func expectPeersEventually(t *testing.T, s *libp2p.Service, addrs ...swarm.Addre
} }
} }
} }
func serviceUnderlayAddress(t *testing.T, s *libp2p.Service) multiaddr.Multiaddr {
t.Helper()
addrs, err := s.Addresses()
if err != nil {
t.Fatal(err)
}
return addrs[0]
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment