Skip to content

Commit

Permalink
refactor(node): remove deprecated constructor and extend testlib with…
Browse files Browse the repository at this point in the history
… builder
  • Loading branch information
Lorenzo Delgado committed Apr 5, 2023
1 parent 5d853b8 commit 9dadc1f
Show file tree
Hide file tree
Showing 44 changed files with 274 additions and 229 deletions.
2 changes: 1 addition & 1 deletion tests/common/test_enr_builder.nim
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import
testutils/unittests
import
../../waku/common/enr,
../v2/testlib/waku2
../v2/testlib/wakucore


suite "nim-eth ENR - builder and typed record":
Expand Down
2 changes: 1 addition & 1 deletion tests/v2/test_message_cache.nim
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import
../../waku/v2/protocol/waku_message,
../../waku/v2/node/message_cache,
./testlib/common,
./testlib/waku2
./testlib/wakucore


type TestMessageCache = MessageCache[(PubsubTopic, ContentTopic)]
Expand Down
9 changes: 5 additions & 4 deletions tests/v2/test_peer_exchange.nim
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ import
import
../../waku/v2/waku_node,
../../waku/v2/utils/peers,
./testlib/waku2
./testlib/wakucore,
./testlib/wakunode

procSuite "Peer Exchange":
asyncTest "GossipSub (relay) peer exchange":
Expand All @@ -22,11 +23,11 @@ procSuite "Peer Exchange":
let
bindIp = ValidIpAddress.init("0.0.0.0")
nodeKey1 = generateSecp256k1Key()
node1 = WakuNode.new(nodeKey1, bindIp, Port(0))
node1 = newTestWakuNode(nodeKey1, bindIp, Port(0))
nodeKey2 = generateSecp256k1Key()
node2 = WakuNode.new(nodeKey2, bindIp, Port(0), sendSignedPeerRecord = true)
node2 = newTestWakuNode(nodeKey2, bindIp, Port(0), sendSignedPeerRecord = true)
nodeKey3 = generateSecp256k1Key()
node3 = WakuNode.new(nodeKey3, bindIp, Port(0), sendSignedPeerRecord = true)
node3 = newTestWakuNode(nodeKey3, bindIp, Port(0), sendSignedPeerRecord = true)

var
peerExchangeHandler, emptyHandler: RoutingRecordsHandler
Expand Down
33 changes: 17 additions & 16 deletions tests/v2/test_peer_manager.nim
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,13 @@ import
../../waku/v2/protocol/waku_peer_exchange,
./testlib/common,
./testlib/testutils,
./testlib/waku2
./testlib/wakucore,
./testlib/wakunode

procSuite "Peer Manager":
asyncTest "connectRelay() works":
# Create 2 nodes
let nodes = toSeq(0..<2).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
let nodes = toSeq(0..<2).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
await allFutures(nodes.mapIt(it.start()))

let connOk = await nodes[0].peerManager.connectRelay(nodes[1].peerInfo.toRemotePeerInfo())
Expand All @@ -45,7 +46,7 @@ procSuite "Peer Manager":

asyncTest "dialPeer() works":
# Create 2 nodes
let nodes = toSeq(0..<2).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
let nodes = toSeq(0..<2).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))

await allFutures(nodes.mapIt(it.start()))
await allFutures(nodes.mapIt(it.mountRelay()))
Expand All @@ -71,7 +72,7 @@ procSuite "Peer Manager":

asyncTest "dialPeer() fails gracefully":
# Create 2 nodes and start them
let nodes = toSeq(0..<2).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
let nodes = toSeq(0..<2).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
await allFutures(nodes.mapIt(it.start()))
await allFutures(nodes.mapIt(it.mountRelay()))

Expand All @@ -91,7 +92,7 @@ procSuite "Peer Manager":

asyncTest "Adding, selecting and filtering peers work":
let
node = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))

# Create filter peer
filterLoc = MultiAddress.init("/ip4/127.0.0.1/tcp/0").tryGet()
Expand Down Expand Up @@ -123,7 +124,7 @@ procSuite "Peer Manager":

asyncTest "Peer manager keeps track of connections":
# Create 2 nodes
let nodes = toSeq(0..<2).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
let nodes = toSeq(0..<2).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))

await allFutures(nodes.mapIt(it.start()))
await allFutures(nodes.mapIt(it.mountRelay()))
Expand Down Expand Up @@ -159,7 +160,7 @@ procSuite "Peer Manager":

asyncTest "Peer manager updates failed peers correctly":
# Create 2 nodes
let nodes = toSeq(0..<2).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
let nodes = toSeq(0..<2).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))

await allFutures(nodes.mapIt(it.start()))
await allFutures(nodes.mapIt(it.mountRelay()))
Expand Down Expand Up @@ -212,8 +213,8 @@ procSuite "Peer Manager":
let
database = SqliteDatabase.new(":memory:")[]
storage = WakuPeerStorage.new(database)[]
node1 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0), peerStorage = storage)
node2 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node1 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0), peerStorage = storage)
node2 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
peerInfo2 = node2.switch.peerInfo

await node1.start()
Expand All @@ -232,7 +233,7 @@ procSuite "Peer Manager":

# Simulate restart by initialising a new node using the same storage
let
node3 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0), peerStorage = storage)
node3 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0), peerStorage = storage)

await node3.start()
check:
Expand All @@ -257,8 +258,8 @@ procSuite "Peer Manager":
let
database = SqliteDatabase.new(":memory:")[]
storage = WakuPeerStorage.new(database)[]
node1 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0), peerStorage = storage)
node2 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node1 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0), peerStorage = storage)
node2 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
peerInfo2 = node2.switch.peerInfo
betaCodec = "/vac/waku/relay/2.0.0-beta2"
stableCodec = "/vac/waku/relay/2.0.0"
Expand All @@ -282,7 +283,7 @@ procSuite "Peer Manager":

# Simulate restart by initialising a new node using the same storage
let
node3 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0), peerStorage = storage)
node3 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0), peerStorage = storage)

await node3.mountRelay()
node3.wakuRelay.codec = stableCodec
Expand Down Expand Up @@ -310,7 +311,7 @@ procSuite "Peer Manager":

asyncTest "Peer manager connects to all peers supporting a given protocol":
# Create 4 nodes
let nodes = toSeq(0..<4).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
let nodes = toSeq(0..<4).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))

# Start them
await allFutures(nodes.mapIt(it.start()))
Expand Down Expand Up @@ -350,7 +351,7 @@ procSuite "Peer Manager":

asyncTest "Peer store keeps track of incoming connections":
# Create 4 nodes
let nodes = toSeq(0..<4).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))
let nodes = toSeq(0..<4).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)))

# Start them
await allFutures(nodes.mapIt(it.start()))
Expand Down Expand Up @@ -411,7 +412,7 @@ procSuite "Peer Manager":
let basePeerId = "16Uiu2HAm7QGEZKujdSbbo1aaQyfDPQ6Bw3ybQnj6fruH5Dxwd7D"

let
node = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
peer1 = parseRemotePeerInfo("/ip4/0.0.0.0/tcp/30300/p2p/" & basePeerId & "1")
peer2 = parseRemotePeerInfo("/ip4/0.0.0.0/tcp/30301/p2p/" & basePeerId & "2")
peer3 = parseRemotePeerInfo("/ip4/0.0.0.0/tcp/30302/p2p/" & basePeerId & "3")
Expand Down
2 changes: 1 addition & 1 deletion tests/v2/test_peer_storage.nim
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import
../../waku/common/sqlite,
../../waku/v2/node/peer_manager/peer_manager,
../../waku/v2/node/peer_manager/peer_store/waku_peer_storage,
./testlib/waku2
./testlib/wakucore


suite "Peer Storage":
Expand Down
2 changes: 1 addition & 1 deletion tests/v2/test_peer_store_extended.nim
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import
../../waku/v2/node/peer_manager/peer_manager,
../../waku/v2/node/peer_manager/waku_peer_store,
../../waku/v2/waku_node,
./testlib/waku2
./testlib/wakucore


suite "Extended nim-libp2p Peer Store":
Expand Down
9 changes: 5 additions & 4 deletions tests/v2/test_waku_discv5.nim
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ import
../../waku/v2/protocol/waku_message,
../../waku/v2/protocol/waku_discv5,
./testlib/common,
./testlib/waku2
./testlib/wakucore,
./testlib/wakunode

procSuite "Waku Discovery v5":
asyncTest "Waku Discovery v5 end-to-end":
Expand All @@ -26,17 +27,17 @@ procSuite "Waku Discovery v5":
nodeKey1 = generateSecp256k1Key()
nodeTcpPort1 = Port(61500)
nodeUdpPort1 = Port(9000)
node1 = WakuNode.new(nodeKey1, bindIp, nodeTcpPort1)
node1 = newTestWakuNode(nodeKey1, bindIp, nodeTcpPort1)

nodeKey2 = generateSecp256k1Key()
nodeTcpPort2 = Port(61502)
nodeUdpPort2 = Port(9002)
node2 = WakuNode.new(nodeKey2, bindIp, nodeTcpPort2)
node2 = newTestWakuNode(nodeKey2, bindIp, nodeTcpPort2)

nodeKey3 = generateSecp256k1Key()
nodeTcpPort3 = Port(61504)
nodeUdpPort3 = Port(9004)
node3 = WakuNode.new(nodeKey3, bindIp, nodeTcpPort3)
node3 = newTestWakuNode(nodeKey3, bindIp, nodeTcpPort3)

flags = CapabilitiesBitfield.init(
lightpush = false,
Expand Down
11 changes: 6 additions & 5 deletions tests/v2/test_waku_dnsdisc.nim
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import
../../waku/v2/waku_node,
../../waku/v2/protocol/waku_dnsdisc,
./testlib/common,
./testlib/waku2
./testlib/wakucore,
./testlib/wakunode

suite "Waku DNS Discovery":
asyncTest "Waku DNS Discovery end-to-end":
Expand All @@ -26,13 +27,13 @@ suite "Waku DNS Discovery":
let
bindIp = ValidIpAddress.init("0.0.0.0")
nodeKey1 = generateSecp256k1Key()
node1 = WakuNode.new(nodeKey1, bindIp, Port(63500))
node1 = newTestWakuNode(nodeKey1, bindIp, Port(63500))
enr1 = node1.enr
nodeKey2 = generateSecp256k1Key()
node2 = WakuNode.new(nodeKey2, bindIp, Port(63502))
node2 = newTestWakuNode(nodeKey2, bindIp, Port(63502))
enr2 = node2.enr
nodeKey3 = generateSecp256k1Key()
node3 = WakuNode.new(nodeKey3, bindIp, Port(63503))
node3 = newTestWakuNode(nodeKey3, bindIp, Port(63503))
enr3 = node3.enr

await node1.mountRelay()
Expand Down Expand Up @@ -67,7 +68,7 @@ suite "Waku DNS Discovery":

let
nodeKey4 = generateSecp256k1Key()
node4 = WakuNode.new(nodeKey4, bindIp, Port(63504))
node4 = newTestWakuNode(nodeKey4, bindIp, Port(63504))

await node4.mountRelay()
await node4.start()
Expand Down
2 changes: 1 addition & 1 deletion tests/v2/test_waku_enr.nim
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import
testutils/unittests
import
../../waku/v2/protocol/waku_enr,
./testlib/waku2
./testlib/wakucore


suite "Waku ENR - Capabilities bitfield":
Expand Down
2 changes: 1 addition & 1 deletion tests/v2/test_waku_filter.nim
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import
../../waku/v2/protocol/waku_filter,
../../waku/v2/protocol/waku_filter/client,
./testlib/common,
./testlib/waku2
./testlib/wakucore


proc newTestWakuFilterNode(switch: Switch, timeout: Duration = 2.hours): Future[WakuFilter] {.async.} =
Expand Down
7 changes: 4 additions & 3 deletions tests/v2/test_waku_keepalive.nim
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,18 @@ import
import
../../waku/v2/waku_node,
../../waku/v2/utils/peers,
./testlib/waku2
./testlib/wakucore,
./testlib/wakunode


suite "Waku Keepalive":

asyncTest "handle ping keepalives":
let
nodeKey1 = generateSecp256k1Key()
node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(0))
node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(0))
nodeKey2 = generateSecp256k1Key()
node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(0))
node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(0))

var completionFut = newFuture[bool]()

Expand Down
2 changes: 1 addition & 1 deletion tests/v2/test_waku_lightpush.nim
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import
../../waku/v2/protocol/waku_lightpush,
../../waku/v2/protocol/waku_lightpush/client,
./testlib/common,
./testlib/waku2
./testlib/wakucore


proc newTestWakuLightpushNode(switch: Switch, handler: PushMessageHandler): Future[WakuLightPush] {.async.} =
Expand Down
2 changes: 1 addition & 1 deletion tests/v2/test_waku_message_digest.nim
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import
../../waku/v2/protocol/waku_message,
../../waku/v2/protocol/waku_message/codec,
../../waku/v2/protocol/waku_message/digest,
./testlib/waku2
./testlib/wakucore

suite "Waku Message - Deterministic hashing":

Expand Down
21 changes: 11 additions & 10 deletions tests/v2/test_waku_peer_exchange.nim
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ import
../../waku/v2/protocol/waku_peer_exchange,
../../waku/v2/protocol/waku_peer_exchange/rpc,
../../waku/v2/protocol/waku_peer_exchange/rpc_codec,
./testlib/waku2
./testlib/wakucore,
./testlib/wakunode


# TODO: Extend test coverage
Expand Down Expand Up @@ -76,17 +77,17 @@ procSuite "Waku Peer Exchange":
nodeKey1 = generateSecp256k1Key()
nodeTcpPort1 = Port(64010)
nodeUdpPort1 = Port(9000)
node1 = WakuNode.new(nodeKey1, bindIp, nodeTcpPort1)
node1 = newTestWakuNode(nodeKey1, bindIp, nodeTcpPort1)

nodeKey2 = generateSecp256k1Key()
nodeTcpPort2 = Port(64012)
nodeUdpPort2 = Port(9002)
node2 = WakuNode.new(nodeKey2, bindIp, nodeTcpPort2)
node2 = newTestWakuNode(nodeKey2, bindIp, nodeTcpPort2)

nodeKey3 = generateSecp256k1Key()
nodeTcpPort3 = Port(64014)
nodeUdpPort3 = Port(9004)
node3 = WakuNode.new(nodeKey3, bindIp, nodeTcpPort3)
node3 = newTestWakuNode(nodeKey3, bindIp, nodeTcpPort3)

# todo: px flag
flags = CapabilitiesBitfield.init(
Expand Down Expand Up @@ -154,8 +155,8 @@ procSuite "Waku Peer Exchange":

asyncTest "peer exchange request functions returns some discovered peers":
let
node1 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node2 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node1 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node2 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))

# Start and mount peer exchange
await allFutures([node1.start(), node2.start()])
Expand Down Expand Up @@ -198,8 +199,8 @@ procSuite "Waku Peer Exchange":

asyncTest "peer exchange handler works as expected":
let
node1 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node2 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node1 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node2 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))

# Start and mount peer exchange
await allFutures([node1.start(), node2.start()])
Expand Down Expand Up @@ -234,8 +235,8 @@ procSuite "Waku Peer Exchange":

asyncTest "peer exchange request fails gracefully":
let
node1 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node2 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node1 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
node2 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))

# Start and mount peer exchange
await allFutures([node1.start(), node2.start()])
Expand Down
2 changes: 1 addition & 1 deletion tests/v2/test_waku_switch.nim
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import
import
../../waku/v2/node/waku_switch,
./testlib/common,
./testlib/waku2
./testlib/wakucore

proc newCircuitRelayClientSwitch(relayClient: RelayClient): Switch =
SwitchBuilder.new()
Expand Down

0 comments on commit 9dadc1f

Please sign in to comment.