From 7834ca839ceef4a80b46f651da399cd4d3e477cf Mon Sep 17 00:00:00 2001 From: Lorenzo Delgado Date: Wed, 5 Apr 2023 16:01:51 +0200 Subject: [PATCH] refactor(node): remove deprecated constructor and extend testlib with builder --- tests/common/test_enr_builder.nim | 2 +- tests/v2/test_message_cache.nim | 2 +- tests/v2/test_peer_exchange.nim | 9 ++- tests/v2/test_peer_manager.nim | 33 +++++---- tests/v2/test_peer_storage.nim | 2 +- tests/v2/test_peer_store_extended.nim | 2 +- tests/v2/test_waku_discv5.nim | 9 ++- tests/v2/test_waku_dnsdisc.nim | 11 +-- tests/v2/test_waku_enr.nim | 2 +- tests/v2/test_waku_filter.nim | 2 +- tests/v2/test_waku_keepalive.nim | 7 +- tests/v2/test_waku_lightpush.nim | 2 +- tests/v2/test_waku_message_digest.nim | 2 +- tests/v2/test_waku_peer_exchange.nim | 21 +++--- tests/v2/test_waku_switch.nim | 2 +- tests/v2/test_wakunode.nim | 40 +++++----- tests/v2/test_wakunode_filter.nim | 7 +- tests/v2/test_wakunode_lightpush.nim | 9 ++- tests/v2/testlib/{waku2.nim => wakucore.nim} | 4 +- tests/v2/testlib/wakunode.nim | 73 +++++++++++++++++++ .../test_driver_queue_pagination.nim | 2 +- .../waku_archive/test_driver_queue_query.nim | 2 +- tests/v2/waku_archive/test_driver_sqlite.nim | 2 +- .../waku_archive/test_driver_sqlite_query.nim | 2 +- .../v2/waku_archive/test_retention_policy.nim | 2 +- tests/v2/waku_archive/test_waku_archive.nim | 2 +- tests/v2/waku_filter_v2/test_waku_filter.nim | 2 +- .../test_waku_filter_protocol.nim | 2 +- tests/v2/waku_relay/test_waku_relay.nim | 2 +- tests/v2/waku_relay/test_wakunode_relay.nim | 47 ++++++------ .../test_wakunode_rln_relay.nim | 21 +++--- tests/v2/waku_store/test_resume.nim | 8 +- tests/v2/waku_store/test_rpc_codec.nim | 2 +- tests/v2/waku_store/test_waku_store.nim | 2 +- tests/v2/waku_store/test_wakunode_store.nim | 21 +++--- .../wakunode_jsonrpc/test_jsonrpc_admin.nim | 13 ++-- .../wakunode_jsonrpc/test_jsonrpc_debug.nim | 6 +- .../wakunode_jsonrpc/test_jsonrpc_filter.nim | 7 +- .../wakunode_jsonrpc/test_jsonrpc_relay.nim | 25 ++++--- .../wakunode_jsonrpc/test_jsonrpc_store.nim | 5 +- tests/v2/wakunode_rest/test_rest_debug.nim | 11 ++- tests/v2/wakunode_rest/test_rest_relay.nim | 5 +- tests/wakubridge/test_wakubridge.nim | 11 ++- waku/v2/node/waku_node.nim | 60 +-------------- 44 files changed, 274 insertions(+), 229 deletions(-) rename tests/v2/testlib/{waku2.nim => wakucore.nim} (96%) create mode 100644 tests/v2/testlib/wakunode.nim diff --git a/tests/common/test_enr_builder.nim b/tests/common/test_enr_builder.nim index e85b09c9a..bb7ff08cb 100644 --- a/tests/common/test_enr_builder.nim +++ b/tests/common/test_enr_builder.nim @@ -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": diff --git a/tests/v2/test_message_cache.nim b/tests/v2/test_message_cache.nim index 2f9ab0116..20e452754 100644 --- a/tests/v2/test_message_cache.nim +++ b/tests/v2/test_message_cache.nim @@ -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)] diff --git a/tests/v2/test_peer_exchange.nim b/tests/v2/test_peer_exchange.nim index 3b6d8a37f..b773f188c 100644 --- a/tests/v2/test_peer_exchange.nim +++ b/tests/v2/test_peer_exchange.nim @@ -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": @@ -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 diff --git a/tests/v2/test_peer_manager.nim b/tests/v2/test_peer_manager.nim index 496e18444..782ed4d4c 100644 --- a/tests/v2/test_peer_manager.nim +++ b/tests/v2/test_peer_manager.nim @@ -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()) @@ -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())) @@ -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())) @@ -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() @@ -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())) @@ -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())) @@ -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() @@ -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: @@ -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" @@ -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 @@ -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())) @@ -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())) @@ -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") diff --git a/tests/v2/test_peer_storage.nim b/tests/v2/test_peer_storage.nim index 2ad57497c..f89544b43 100644 --- a/tests/v2/test_peer_storage.nim +++ b/tests/v2/test_peer_storage.nim @@ -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": diff --git a/tests/v2/test_peer_store_extended.nim b/tests/v2/test_peer_store_extended.nim index 2a0993bee..2bafac6c5 100644 --- a/tests/v2/test_peer_store_extended.nim +++ b/tests/v2/test_peer_store_extended.nim @@ -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": diff --git a/tests/v2/test_waku_discv5.nim b/tests/v2/test_waku_discv5.nim index c23715387..e3e00b39c 100644 --- a/tests/v2/test_waku_discv5.nim +++ b/tests/v2/test_waku_discv5.nim @@ -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": @@ -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, diff --git a/tests/v2/test_waku_dnsdisc.nim b/tests/v2/test_waku_dnsdisc.nim index 7f79d953a..2ff28680a 100644 --- a/tests/v2/test_waku_dnsdisc.nim +++ b/tests/v2/test_waku_dnsdisc.nim @@ -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": @@ -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() @@ -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() diff --git a/tests/v2/test_waku_enr.nim b/tests/v2/test_waku_enr.nim index 65c06f14e..5da6aab40 100644 --- a/tests/v2/test_waku_enr.nim +++ b/tests/v2/test_waku_enr.nim @@ -6,7 +6,7 @@ import testutils/unittests import ../../waku/v2/protocol/waku_enr, - ./testlib/waku2 + ./testlib/wakucore suite "Waku ENR - Capabilities bitfield": diff --git a/tests/v2/test_waku_filter.nim b/tests/v2/test_waku_filter.nim index aa40e8af8..0eb6d33eb 100644 --- a/tests/v2/test_waku_filter.nim +++ b/tests/v2/test_waku_filter.nim @@ -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.} = diff --git a/tests/v2/test_waku_keepalive.nim b/tests/v2/test_waku_keepalive.nim index 7bb1382e7..f91c58aaf 100644 --- a/tests/v2/test_waku_keepalive.nim +++ b/tests/v2/test_waku_keepalive.nim @@ -14,7 +14,8 @@ import import ../../waku/v2/waku_node, ../../waku/v2/utils/peers, - ./testlib/waku2 + ./testlib/wakucore, + ./testlib/wakunode suite "Waku Keepalive": @@ -22,9 +23,9 @@ 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]() diff --git a/tests/v2/test_waku_lightpush.nim b/tests/v2/test_waku_lightpush.nim index 9970e8aaa..9d168fbf7 100644 --- a/tests/v2/test_waku_lightpush.nim +++ b/tests/v2/test_waku_lightpush.nim @@ -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.} = diff --git a/tests/v2/test_waku_message_digest.nim b/tests/v2/test_waku_message_digest.nim index 7649ec4cd..d24c0743c 100644 --- a/tests/v2/test_waku_message_digest.nim +++ b/tests/v2/test_waku_message_digest.nim @@ -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": diff --git a/tests/v2/test_waku_peer_exchange.nim b/tests/v2/test_waku_peer_exchange.nim index 5ab7870ff..9acc7bbe6 100644 --- a/tests/v2/test_waku_peer_exchange.nim +++ b/tests/v2/test_waku_peer_exchange.nim @@ -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 @@ -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( @@ -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()]) @@ -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()]) @@ -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()]) diff --git a/tests/v2/test_waku_switch.nim b/tests/v2/test_waku_switch.nim index 6189b52ae..47f367885 100644 --- a/tests/v2/test_waku_switch.nim +++ b/tests/v2/test_waku_switch.nim @@ -11,7 +11,7 @@ import import ../../waku/v2/node/waku_switch, ./testlib/common, - ./testlib/waku2 + ./testlib/wakucore proc newCircuitRelayClientSwitch(relayClient: RelayClient): Switch = SwitchBuilder.new() diff --git a/tests/v2/test_wakunode.nim b/tests/v2/test_wakunode.nim index 6335d826b..8bc69c0f8 100644 --- a/tests/v2/test_wakunode.nim +++ b/tests/v2/test_wakunode.nim @@ -23,7 +23,8 @@ import ../../waku/v2/protocol/waku_relay, ../../waku/v2/protocol/waku_peer_exchange, ../../waku/v2/utils/peers, - ./testlib/waku2 + ./testlib/wakucore, + ./testlib/wakunode suite "WakuNode": @@ -31,9 +32,9 @@ suite "WakuNode": asyncTest "Protocol matcher works as expected": let nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(61000)) + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(61000)) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(61002)) + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(61002)) pubSubTopic = "/waku/2/default-waku/proto" contentTopic = ContentTopic("/waku/2/default-content/proto") payload = "hello world".toBytes() @@ -88,9 +89,9 @@ suite "WakuNode": let nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(61020), nameResolver = resolver) + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(61020), nameResolver = resolver) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(61022)) + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(61022)) # Construct DNS multiaddr for node2 let @@ -113,13 +114,13 @@ suite "WakuNode": let maxConnections = 2 nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(60010), maxConnections = maxConnections) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(60012)) nodeKey3 = generateSecp256k1Key() - node3 = WakuNode.new(nodeKey3, ValidIpAddress.init("0.0.0.0"), + node3 = newTestWakuNode(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(60013)) check: @@ -150,12 +151,11 @@ suite "WakuNode": await allFutures([node1.stop(), node2.stop(), node3.stop()]) asyncTest "Messages fails with wrong key path": - let - nodeKey1 = generateSecp256k1Key() + let nodeKey1 = generateSecp256k1Key() - expect IOError: + expect ResultDefect: # gibberish - discard WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), + discard newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), bindPort = Port(61004), wsBindPort = Port(8000), wssEnabled = true, @@ -168,7 +168,7 @@ suite "WakuNode": bindPort = Port(61006) extIp = some(ValidIpAddress.init("127.0.0.1")) extPort = some(Port(61008)) - node = WakuNode.new( + node = newTestWakuNode( nodeKey, bindIp, bindPort, extIp, extPort) @@ -209,7 +209,7 @@ suite "WakuNode": extPort = some(Port(61012)) domainName = "example.com" expectedDns4Addr = MultiAddress.init("/dns4/" & domainName & "/tcp/" & $(extPort.get())).get() - node = WakuNode.new( + node = newTestWakuNode( nodeKey, bindIp, bindPort, extIp, extPort, @@ -230,12 +230,12 @@ suite "WakuNode": let # node with custom agent string nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(61014), + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(61014), agentString = some(expectedAgentString1)) # node with default agent string from libp2p nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(61016)) + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(61016)) await node1.start() await node1.mountRelay() @@ -265,12 +265,12 @@ suite "WakuNode": let # node with custom multiaddress nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(61018), + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), Port(61018), extMultiAddrs = @[expectedMultiaddress1]) # node with default multiaddress nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(61020)) + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), Port(61020)) await node1.start() await node1.mountRelay() @@ -290,8 +290,8 @@ suite "WakuNode": asyncTest "Function fetchPeerExchangePeers succesfully exchanges px 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()]) diff --git a/tests/v2/test_wakunode_filter.nim b/tests/v2/test_wakunode_filter.nim index 423b38d14..a4331f333 100644 --- a/tests/v2/test_wakunode_filter.nim +++ b/tests/v2/test_wakunode_filter.nim @@ -12,7 +12,8 @@ import ../../waku/v2/protocol/waku_message, ../../waku/v2/utils/peers, ./testlib/common, - ./testlib/waku2 + ./testlib/wakucore, + ./testlib/wakunode suite "WakuNode - Filter": @@ -21,9 +22,9 @@ suite "WakuNode - Filter": ## Setup let serverKey = generateSecp256k1Key() - server = WakuNode.new(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + server = newTestWakuNode(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) clientKey = generateSecp256k1Key() - client = WakuNode.new(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + client = newTestWakuNode(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(server.start(), client.start()) diff --git a/tests/v2/test_wakunode_lightpush.nim b/tests/v2/test_wakunode_lightpush.nim index 44a67dbf2..b15ac0a33 100644 --- a/tests/v2/test_wakunode_lightpush.nim +++ b/tests/v2/test_wakunode_lightpush.nim @@ -14,7 +14,8 @@ import ../../waku/v2/utils/peers, ../../waku/v2/waku_node, ./testlib/common, - ./testlib/waku2 + ./testlib/wakucore, + ./testlib/wakunode suite "WakuNode - Lightpush": @@ -22,11 +23,11 @@ suite "WakuNode - Lightpush": ## Setup let lightNodeKey = generateSecp256k1Key() - lightNode = WakuNode.new(lightNodeKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + lightNode = newTestWakuNode(lightNodeKey, ValidIpAddress.init("0.0.0.0"), Port(0)) bridgeNodeKey = generateSecp256k1Key() - bridgeNode = WakuNode.new(bridgeNodeKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + bridgeNode = newTestWakuNode(bridgeNodeKey, ValidIpAddress.init("0.0.0.0"), Port(0)) destNodeKey = generateSecp256k1Key() - destNode = WakuNode.new(destNodeKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + destNode = newTestWakuNode(destNodeKey, ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(destNode.start(), bridgeNode.start(), lightNode.start()) diff --git a/tests/v2/testlib/waku2.nim b/tests/v2/testlib/wakucore.nim similarity index 96% rename from tests/v2/testlib/waku2.nim rename to tests/v2/testlib/wakucore.nim index e4e2fa980..91878f820 100644 --- a/tests/v2/testlib/waku2.nim +++ b/tests/v2/testlib/wakucore.nim @@ -1,6 +1,8 @@ import std/options, - stew/byteutils, + stew/[results, byteutils], + stew/shims/net, + chronos, libp2p/switch, libp2p/builders, libp2p/crypto/crypto as libp2p_keys, diff --git a/tests/v2/testlib/wakunode.nim b/tests/v2/testlib/wakunode.nim new file mode 100644 index 000000000..9ab520939 --- /dev/null +++ b/tests/v2/testlib/wakunode.nim @@ -0,0 +1,73 @@ +import + std/options, + stew/results, + stew/shims/net, + chronos, + libp2p/switch, + libp2p/builders, + libp2p/nameresolving/nameresolver, + libp2p/crypto/crypto as libp2p_keys, + eth/keys as eth_keys +import + ../../../waku/v2/waku_node, + ../../../waku/v2/node/peer_manager, + ../../../waku/v2/protocol/waku_enr, + ../../../waku/v2/protocol/waku_discv5, + ./common + + +# Waku node + +proc newTestWakuNode*(nodeKey: crypto.PrivateKey, + bindIp: ValidIpAddress, + bindPort: Port, + extIp = none(ValidIpAddress), + extPort = none(Port), + extMultiAddrs = newSeq[MultiAddress](), + peerStorage: PeerStorage = nil, + maxConnections = builders.MaxConnections, + wsBindPort: Port = (Port)8000, + wsEnabled: bool = false, + wssEnabled: bool = false, + secureKey: string = "", + secureCert: string = "", + wakuFlags = none(CapabilitiesBitfield), + nameResolver: NameResolver = nil, + sendSignedPeerRecord = false, + dns4DomainName = none(string), + discv5UdpPort = none(Port), + wakuDiscv5 = none(WakuDiscoveryV5), + agentString = none(string), + peerStoreCapacity = none(int)): WakuNode = + let netConfigRes = NetConfig.init( + bindIp = bindIp, + bindPort = bindPort, + extIp = extIp, + extPort = extPort, + extMultiAddrs = extMultiAddrs, + wsBindPort = wsBindPort, + wsEnabled = wsEnabled, + wssEnabled = wssEnabled, + wakuFlags = wakuFlags, + dns4DomainName = dns4DomainName, + discv5UdpPort = discv5UdpPort, + ) + if netConfigRes.isErr(): + raise newException(Defect, "Invalid network configuration: " & $netConfigRes.error) + + var builder = WakuNodeBuilder.init() + builder.withRng(rng()) + builder.withNodeKey(nodeKey) + builder.withNetworkConfiguration(netConfigRes.get()) + builder.withPeerStorage(peerStorage, capacity = peerStoreCapacity) + builder.withSwitchConfiguration( + maxConnections = some(maxConnections), + nameResolver = nameResolver, + sendSignedPeerRecord = sendSignedPeerRecord, + secureKey = if secureKey != "": some(secureKey) else: none(string), + secureCert = if secureCert != "": some(secureCert) else: none(string), + agentString = agentString, + ) + builder.withWakuDiscv5(wakuDiscv5.get(nil)) + + return builder.build().get() diff --git a/tests/v2/waku_archive/test_driver_queue_pagination.nim b/tests/v2/waku_archive/test_driver_queue_pagination.nim index 7714cf377..adefff626 100644 --- a/tests/v2/waku_archive/test_driver_queue_pagination.nim +++ b/tests/v2/waku_archive/test_driver_queue_pagination.nim @@ -11,7 +11,7 @@ import ../../../waku/v2/protocol/waku_message, ../../../waku/v2/utils/time, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore proc getTestQueueDriver(numMessages: int): QueueDriver = diff --git a/tests/v2/waku_archive/test_driver_queue_query.nim b/tests/v2/waku_archive/test_driver_queue_query.nim index 4d78ebfdb..fe5dbd062 100644 --- a/tests/v2/waku_archive/test_driver_queue_query.nim +++ b/tests/v2/waku_archive/test_driver_queue_query.nim @@ -10,7 +10,7 @@ import ../../../waku/v2/protocol/waku_archive/driver/queue_driver, ../../../waku/v2/protocol/waku_message, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore logScope: diff --git a/tests/v2/waku_archive/test_driver_sqlite.nim b/tests/v2/waku_archive/test_driver_sqlite.nim index c27f51aa2..89bba38a5 100644 --- a/tests/v2/waku_archive/test_driver_sqlite.nim +++ b/tests/v2/waku_archive/test_driver_sqlite.nim @@ -10,7 +10,7 @@ import ../../../waku/v2/protocol/waku_archive/driver/sqlite_driver, ../../../waku/v2/protocol/waku_message, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore proc newTestDatabase(): SqliteDatabase = diff --git a/tests/v2/waku_archive/test_driver_sqlite_query.nim b/tests/v2/waku_archive/test_driver_sqlite_query.nim index 705d1e9bb..eea7fd497 100644 --- a/tests/v2/waku_archive/test_driver_sqlite_query.nim +++ b/tests/v2/waku_archive/test_driver_sqlite_query.nim @@ -11,7 +11,7 @@ import ../../../waku/v2/protocol/waku_archive/driver/sqlite_driver, ../../../waku/v2/protocol/waku_message, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore logScope: topics = "test archive _driver" diff --git a/tests/v2/waku_archive/test_retention_policy.nim b/tests/v2/waku_archive/test_retention_policy.nim index 264c1226a..b6e1a2004 100644 --- a/tests/v2/waku_archive/test_retention_policy.nim +++ b/tests/v2/waku_archive/test_retention_policy.nim @@ -14,7 +14,7 @@ import ../../../waku/v2/protocol/waku_message, ../../../waku/v2/utils/time, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore proc newTestDatabase(): SqliteDatabase = diff --git a/tests/v2/waku_archive/test_waku_archive.nim b/tests/v2/waku_archive/test_waku_archive.nim index ea5f04811..e1f61e033 100644 --- a/tests/v2/waku_archive/test_waku_archive.nim +++ b/tests/v2/waku_archive/test_waku_archive.nim @@ -12,7 +12,7 @@ import ../../../waku/v2/protocol/waku_archive, ../../../waku/v2/utils/time, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore proc newTestDatabase(): SqliteDatabase = diff --git a/tests/v2/waku_filter_v2/test_waku_filter.nim b/tests/v2/waku_filter_v2/test_waku_filter.nim index 6d30c22ff..066552b01 100644 --- a/tests/v2/waku_filter_v2/test_waku_filter.nim +++ b/tests/v2/waku_filter_v2/test_waku_filter.nim @@ -13,7 +13,7 @@ import ../../../waku/v2/protocol/waku_filter_v2/rpc, ../../../waku/v2/protocol/waku_message, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore proc newTestWakuFilter(switch: Switch): Future[WakuFilter] {.async.} = let diff --git a/tests/v2/waku_filter_v2/test_waku_filter_protocol.nim b/tests/v2/waku_filter_v2/test_waku_filter_protocol.nim index 2377d41de..1280386e2 100644 --- a/tests/v2/waku_filter_v2/test_waku_filter_protocol.nim +++ b/tests/v2/waku_filter_v2/test_waku_filter_protocol.nim @@ -12,7 +12,7 @@ import ../../../waku/v2/protocol/waku_filter_v2/rpc, ../../../waku/v2/protocol/waku_message, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore proc newTestWakuFilter(switch: Switch): WakuFilter = let diff --git a/tests/v2/waku_relay/test_waku_relay.nim b/tests/v2/waku_relay/test_waku_relay.nim index a3e532b21..bb9a46bbb 100644 --- a/tests/v2/waku_relay/test_waku_relay.nim +++ b/tests/v2/waku_relay/test_waku_relay.nim @@ -13,7 +13,7 @@ import ../../../waku/v2/protocol/waku_message, ../../../waku/v2/protocol/waku_relay, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore proc noopRawHandler(): PubsubRawHandler = diff --git a/tests/v2/waku_relay/test_wakunode_relay.nim b/tests/v2/waku_relay/test_wakunode_relay.nim index 69c52d637..a8307cb3f 100644 --- a/tests/v2/waku_relay/test_wakunode_relay.nim +++ b/tests/v2/waku_relay/test_wakunode_relay.nim @@ -26,7 +26,8 @@ import ../../waku/v2/protocol/waku_relay/validators, ../testlib/testutils, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore, + ../testlib/wakunode template sourceDir: string = currentSourcePath.parentDir() const KEY_PATH = sourceDir / "resources/test_key.pem" @@ -37,7 +38,7 @@ suite "WakuNode - Relay": asyncTest "Relay protocol is started correctly": 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)) # Relay protocol starts if mounted after node start @@ -51,7 +52,7 @@ suite "WakuNode - Relay": let 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)) await node2.mountRelay() @@ -70,11 +71,11 @@ suite "WakuNode - Relay": asyncTest "Messages are correctly relayed": 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)) nodeKey3 = generateSecp256k1Key() - node3 = WakuNode.new(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) + node3 = newTestWakuNode(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) pubSubTopic = "test" contentTopic = ContentTopic("/waku/2/default-content/proto") payload = "hello world".toBytes() @@ -128,13 +129,13 @@ suite "WakuNode - Relay": let # publisher node 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)) # Relay node 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)) # Subscriber nodeKey3 = generateSecp256k1Key() - node3 = WakuNode.new(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) + node3 = newTestWakuNode(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) pubSubTopic = "test" contentTopic1 = ContentTopic("/waku/2/default-content/proto") @@ -218,7 +219,7 @@ suite "WakuNode - Relay": # TODO: Add a function to validate the WakuMessage integrity xasyncTest "Stats of peer sending wrong WakuMessages are updated": # Create 2 nodes - let nodes = toSeq(0..1).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))) + let nodes = toSeq(0..1).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))) # Start all the nodes and mount relay with await allFutures(nodes.mapIt(it.start())) @@ -252,7 +253,7 @@ suite "WakuNode - Relay": asyncTest "Spam protected topic accepts signed messages": # Create 5 nodes - let nodes = toSeq(0..<5).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))) + let nodes = toSeq(0..<5).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))) # Protected topic and key to sign let spamProtectedTopic = PubSubTopic("some-spam-protected-topic") @@ -318,7 +319,7 @@ suite "WakuNode - Relay": asyncTest "Spam protected topic rejects non-signed and wrongly-signed messages": # Create 5 nodes - let nodes = toSeq(0..<5).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))) + let nodes = toSeq(0..<5).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))) # Protected topic and key to sign let spamProtectedTopic = PubSubTopic("some-spam-protected-topic") @@ -399,7 +400,7 @@ suite "WakuNode - Relay": asyncTest "Spam protected topic rejects a spammer node": # Create 5 nodes - let nodes = toSeq(0..<5).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))) + let nodes = toSeq(0..<5).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))) # Protected topic and key to sign let spamProtectedTopic = PubSubTopic("some-spam-protected-topic") @@ -487,10 +488,10 @@ suite "WakuNode - Relay": asyncTest "Messages are relayed between two websocket nodes": let nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60510), wsBindPort = Port(8001), wsEnabled = true) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60512), wsBindPort = Port(8101), wsEnabled = true) pubSubTopic = "test" contentTopic = ContentTopic("/waku/2/default-content/proto") @@ -531,10 +532,10 @@ suite "WakuNode - Relay": asyncTest "Messages are relayed between nodes with multiple transports (TCP and Websockets)": let nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60520), wsBindPort = Port(8002), wsEnabled = true) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60522)) pubSubTopic = "test" contentTopic = ContentTopic("/waku/2/default-content/proto") @@ -575,10 +576,10 @@ suite "WakuNode - Relay": asyncTest "Messages relaying fails with non-overlapping transports (TCP or Websockets)": let nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60530)) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60532), wsBindPort = Port(8103), wsEnabled = true) pubSubTopic = "test" contentTopic = ContentTopic("/waku/2/default-content/proto") @@ -622,10 +623,10 @@ suite "WakuNode - Relay": asyncTest "Messages are relayed between nodes with multiple transports (TCP and secure Websockets)": let nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60540), wsBindPort = Port(8004), wssEnabled = true, secureKey = KEY_PATH, secureCert = CERT_PATH) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60542)) pubSubTopic = "test" contentTopic = ContentTopic("/waku/2/default-content/proto") @@ -665,9 +666,9 @@ suite "WakuNode - Relay": asyncTest "Messages are relayed between nodes with multiple transports (websocket and secure Websockets)": let nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60550), wsBindPort = Port(8005), wssEnabled = true, secureKey = KEY_PATH, secureCert = CERT_PATH) + node1 = newTestWakuNode(nodeKey1, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60550), wsBindPort = Port(8005), wssEnabled = true, secureKey = KEY_PATH, secureCert = CERT_PATH) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60552),wsBindPort = Port(8105), wsEnabled = true ) + node2 = newTestWakuNode(nodeKey2, ValidIpAddress.init("0.0.0.0"), bindPort = Port(60552),wsBindPort = Port(8105), wsEnabled = true ) let pubSubTopic = "test" diff --git a/tests/v2/waku_rln_relay/test_wakunode_rln_relay.nim b/tests/v2/waku_rln_relay/test_wakunode_rln_relay.nim index 2c7359f5b..82e488a8f 100644 --- a/tests/v2/waku_rln_relay/test_wakunode_rln_relay.nim +++ b/tests/v2/waku_rln_relay/test_wakunode_rln_relay.nim @@ -19,7 +19,8 @@ import ../../../waku/v2/protocol/waku_rln_relay, ../../../waku/v2/protocol/waku_keystore, ../../../waku/v2/utils/peers, - ../testlib/waku2 + ../testlib/wakucore, + ../testlib/wakunode from std/times import epochTime @@ -32,13 +33,13 @@ procSuite "WakuNode - RLN relay": let # publisher node 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)) # Relay node 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)) # Subscriber nodeKey3 = generateSecp256k1Key() - node3 = WakuNode.new(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) + node3 = newTestWakuNode(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) rlnRelayPubSubTopic = RlnRelayPubsubTopic contentTopic = ContentTopic("/waku/2/default-content/proto") @@ -120,13 +121,13 @@ procSuite "WakuNode - RLN relay": let # publisher node 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)) # Relay node 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)) # Subscriber nodeKey3 = generateSecp256k1Key() - node3 = WakuNode.new(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) + node3 = newTestWakuNode(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) rlnRelayPubSubTopic = RlnRelayPubsubTopic contentTopic = ContentTopic("/waku/2/default-content/proto") @@ -225,13 +226,13 @@ procSuite "WakuNode - RLN relay": let # publisher node 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)) # Relay node 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)) # Subscriber nodeKey3 = generateSecp256k1Key() - node3 = WakuNode.new(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) + node3 = newTestWakuNode(nodeKey3, ValidIpAddress.init("0.0.0.0"), Port(0)) rlnRelayPubSubTopic = RlnRelayPubsubTopic contentTopic = ContentTopic("/waku/2/default-content/proto") diff --git a/tests/v2/waku_store/test_resume.nim b/tests/v2/waku_store/test_resume.nim index cfe83132b..cec9ea1c8 100644 --- a/tests/v2/waku_store/test_resume.nim +++ b/tests/v2/waku_store/test_resume.nim @@ -214,9 +214,9 @@ suite "WakuNode - waku store": ## Setup let serverKey = generateSecp256k1Key() - server = WakuNode.new(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + server = newTestWakuNode(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) clientKey = generateSecp256k1Key() - client = WakuNode.new(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + client = newTestWakuNode(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(client.start(), server.start()) @@ -248,9 +248,9 @@ suite "WakuNode - waku store": ## Setup let serverKey = generateSecp256k1Key() - server = WakuNode.new(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + server = newTestWakuNode(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) clientKey = generateSecp256k1Key() - client = WakuNode.new(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + client = newTestWakuNode(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(server.start(), client.start()) await server.mountStore(store=StoreQueueRef.new()) diff --git a/tests/v2/waku_store/test_rpc_codec.nim b/tests/v2/waku_store/test_rpc_codec.nim index a80acf6ea..417f5a016 100644 --- a/tests/v2/waku_store/test_rpc_codec.nim +++ b/tests/v2/waku_store/test_rpc_codec.nim @@ -10,7 +10,7 @@ import ../../../waku/v2/protocol/waku_store/rpc_codec, ../../../waku/v2/utils/time, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore diff --git a/tests/v2/waku_store/test_waku_store.nim b/tests/v2/waku_store/test_waku_store.nim index b4ff9f532..b9705e1da 100644 --- a/tests/v2/waku_store/test_waku_store.nim +++ b/tests/v2/waku_store/test_waku_store.nim @@ -12,7 +12,7 @@ import ../../../waku/v2/protocol/waku_store, ../../../waku/v2/protocol/waku_store/client, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore diff --git a/tests/v2/waku_store/test_wakunode_store.nim b/tests/v2/waku_store/test_wakunode_store.nim index 23405101d..f0d271a21 100644 --- a/tests/v2/waku_store/test_wakunode_store.nim +++ b/tests/v2/waku_store/test_wakunode_store.nim @@ -23,7 +23,8 @@ import ../../../waku/v2/utils/peers, ../../../waku/v2/waku_node, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore, + ../testlib/wakunode proc newTestArchiveDriver(): ArchiveDriver = @@ -67,9 +68,9 @@ procSuite "WakuNode - Store": ## Setup let serverKey = generateSecp256k1Key() - server = WakuNode.new(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + server = newTestWakuNode(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) clientKey = generateSecp256k1Key() - client = WakuNode.new(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + client = newTestWakuNode(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(client.start(), server.start()) @@ -99,9 +100,9 @@ procSuite "WakuNode - Store": ## Setup let serverKey = generateSecp256k1Key() - server = WakuNode.new(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + server = newTestWakuNode(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) clientKey = generateSecp256k1Key() - client = WakuNode.new(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + client = newTestWakuNode(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(client.start(), server.start()) @@ -148,9 +149,9 @@ procSuite "WakuNode - Store": ## Setup let serverKey = generateSecp256k1Key() - server = WakuNode.new(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + server = newTestWakuNode(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) clientKey = generateSecp256k1Key() - client = WakuNode.new(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + client = newTestWakuNode(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(client.start(), server.start()) @@ -198,11 +199,11 @@ procSuite "WakuNode - Store": ## Setup let filterSourceKey = generateSecp256k1Key() - filterSource = WakuNode.new(filterSourceKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + filterSource = newTestWakuNode(filterSourceKey, ValidIpAddress.init("0.0.0.0"), Port(0)) serverKey = generateSecp256k1Key() - server = WakuNode.new(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + server = newTestWakuNode(serverKey, ValidIpAddress.init("0.0.0.0"), Port(0)) clientKey = generateSecp256k1Key() - client = WakuNode.new(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) + client = newTestWakuNode(clientKey, ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(client.start(), server.start(), filterSource.start()) diff --git a/tests/v2/wakunode_jsonrpc/test_jsonrpc_admin.nim b/tests/v2/wakunode_jsonrpc/test_jsonrpc_admin.nim index bc5d8e4da..dfc939284 100644 --- a/tests/v2/wakunode_jsonrpc/test_jsonrpc_admin.nim +++ b/tests/v2/wakunode_jsonrpc/test_jsonrpc_admin.nim @@ -20,7 +20,8 @@ import ../../../waku/v2/protocol/waku_store, ../../../waku/v2/protocol/waku_filter, ../../../waku/v2/utils/peers, - ../testlib/waku2 + ../testlib/wakucore, + ../testlib/wakunode procSuite "Waku v2 JSON-RPC API - Admin": @@ -30,10 +31,10 @@ procSuite "Waku v2 JSON-RPC API - Admin": asyncTest "connect to ad-hoc peers": # Create a couple of nodes let - node1 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60600)) - node2 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60602)) + node1 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60600)) + node2 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60602)) peerInfo2 = node2.switch.peerInfo - node3 = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60604)) + node3 = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60604)) peerInfo3 = node3.switch.peerInfo await allFutures([node1.start(), node2.start(), node3.start()]) @@ -89,7 +90,7 @@ procSuite "Waku v2 JSON-RPC API - Admin": asyncTest "get managed peer information": # Create 3 nodes and start them with relay - let nodes = toSeq(0..<3).mapIt(WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60220+it*2))) + let nodes = toSeq(0..<3).mapIt(newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60220+it*2))) await allFutures(nodes.mapIt(it.start())) await allFutures(nodes.mapIt(it.mountRelay())) @@ -136,7 +137,7 @@ procSuite "Waku v2 JSON-RPC API - Admin": await allFutures(nodes.mapIt(it.stop())) asyncTest "get unmanaged peer information": - let node = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60523)) + let node = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(60523)) await node.start() diff --git a/tests/v2/wakunode_jsonrpc/test_jsonrpc_debug.nim b/tests/v2/wakunode_jsonrpc/test_jsonrpc_debug.nim index 6aed6efe7..5e7b3a0bf 100644 --- a/tests/v2/wakunode_jsonrpc/test_jsonrpc_debug.nim +++ b/tests/v2/wakunode_jsonrpc/test_jsonrpc_debug.nim @@ -13,7 +13,9 @@ import ../../../waku/v2/waku_node, ../../../waku/v2/node/jsonrpc/debug/handlers as debug_api, ../../../waku/v2/node/jsonrpc/debug/client as debug_api_client, - ../testlib/waku2 + ../testlib/common, + ../testlib/wakucore, + ../testlib/wakunode procSuite "Waku v2 JSON-RPC API - Debug": @@ -22,7 +24,7 @@ procSuite "Waku v2 JSON-RPC API - Debug": bindIp = ValidIpAddress.init("0.0.0.0") extIp = ValidIpAddress.init("127.0.0.1") port = Port(0) - node = WakuNode.new(privkey, bindIp, port, some(extIp), some(port)) + node = newTestWakuNode(privkey, bindIp, port, some(extIp), some(port)) asyncTest "get node info": await node.start() diff --git a/tests/v2/wakunode_jsonrpc/test_jsonrpc_filter.nim b/tests/v2/wakunode_jsonrpc/test_jsonrpc_filter.nim index b3628c887..f499da61b 100644 --- a/tests/v2/wakunode_jsonrpc/test_jsonrpc_filter.nim +++ b/tests/v2/wakunode_jsonrpc/test_jsonrpc_filter.nim @@ -18,7 +18,8 @@ import ../../../waku/v2/protocol/waku_filter/rpc, ../../../waku/v2/protocol/waku_filter/client, ../../../waku/v2/utils/peers, - ../testlib/waku2 + ../testlib/wakucore, + ../testlib/wakunode proc newTestMessageCache(): filter_api.MessageCache = @@ -32,9 +33,9 @@ procSuite "Waku v2 JSON-RPC API - Filter": asyncTest "subscribe and unsubscribe": let nodeKey1 = generateSecp256k1Key() - node1 = WakuNode.new(nodeKey1, bindIp, Port(0)) + node1 = newTestWakuNode(nodeKey1, bindIp, Port(0)) nodeKey2 = generateSecp256k1Key() - node2 = WakuNode.new(nodeKey2, bindIp, Port(0)) + node2 = newTestWakuNode(nodeKey2, bindIp, Port(0)) await allFutures(node1.start(), node2.start()) diff --git a/tests/v2/wakunode_jsonrpc/test_jsonrpc_relay.nim b/tests/v2/wakunode_jsonrpc/test_jsonrpc_relay.nim index 024bfc5f6..1516677f7 100644 --- a/tests/v2/wakunode_jsonrpc/test_jsonrpc_relay.nim +++ b/tests/v2/wakunode_jsonrpc/test_jsonrpc_relay.nim @@ -19,7 +19,8 @@ import ../../../waku/v2/utils/compat, ../../../waku/v2/utils/peers, ../testlib/common, - ../testlib/waku2 + ../testlib/wakucore, + ../testlib/wakunode proc newTestMessageCache(): relay_api.MessageCache = @@ -30,7 +31,7 @@ suite "Waku v2 JSON-RPC API - Relay": asyncTest "subscribe and unsubscribe from topics": ## Setup - let node = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) + let node = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) await node.start() await node.mountRelay(topics = @[DefaultPubsubTopic]) @@ -92,8 +93,8 @@ suite "Waku v2 JSON-RPC API - Relay": # Relay nodes setup let - srcNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) - dstNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) + srcNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) + dstNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(srcNode.start(), dstNode.start()) @@ -158,8 +159,8 @@ suite "Waku v2 JSON-RPC API - Relay": # Relay nodes setup let - srcNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) - dstNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) + srcNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) + dstNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0)) await allFutures(srcNode.start(), dstNode.start()) @@ -220,9 +221,9 @@ suite "Waku v2 JSON-RPC API - Relay (Private)": contentTopic = "test-relay-content-topic" let - srcNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) - relNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) - dstNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) + srcNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) + relNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) + dstNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) await allFutures(srcNode.start(), relNode.start(), dstNode.start()) @@ -309,9 +310,9 @@ suite "Waku v2 JSON-RPC API - Relay (Private)": contentTopic = "test-relay-content-topic" let - srcNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) - relNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) - dstNode = WakuNode.new(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) + srcNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) + relNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) + dstNode = newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("127.0.0.1"), Port(0)) await allFutures(srcNode.start(), relNode.start(), dstNode.start()) diff --git a/tests/v2/wakunode_jsonrpc/test_jsonrpc_store.nim b/tests/v2/wakunode_jsonrpc/test_jsonrpc_store.nim index fb41cf515..0f3cc4288 100644 --- a/tests/v2/wakunode_jsonrpc/test_jsonrpc_store.nim +++ b/tests/v2/wakunode_jsonrpc/test_jsonrpc_store.nim @@ -21,7 +21,8 @@ import ../../../waku/v2/utils/peers, ../../../waku/v2/utils/time, ../../v2/testlib/common, - ../../v2/testlib/waku2 + ../../v2/testlib/wakucore, + ../../v2/testlib/wakunode proc put(store: ArchiveDriver, pubsubTopic: PubsubTopic, message: WakuMessage): Result[void, string] = @@ -38,7 +39,7 @@ procSuite "Waku v2 JSON-RPC API - Store": bindIp = ValidIpAddress.init("0.0.0.0") extIp = ValidIpAddress.init("127.0.0.1") port = Port(0) - node = WakuNode.new(privkey, bindIp, port, some(extIp), some(port)) + node = newTestWakuNode(privkey, bindIp, port, some(extIp), some(port)) asyncTest "query a node and retrieve historical messages": await node.start() diff --git a/tests/v2/wakunode_rest/test_rest_debug.nim b/tests/v2/wakunode_rest/test_rest_debug.nim index fa1bb8e29..09df3f786 100644 --- a/tests/v2/wakunode_rest/test_rest_debug.nim +++ b/tests/v2/wakunode_rest/test_rest_debug.nim @@ -10,22 +10,25 @@ import libp2p/crypto/crypto import ../../waku/v2/waku_node, + ../../waku/v2/node/waku_node as waku_node2, # TODO: Remove after moving `git_version` to the app code. ../../waku/v2/node/rest/server, ../../waku/v2/node/rest/client, ../../waku/v2/node/rest/responses, ../../waku/v2/node/rest/debug/handlers as debug_api, - ../../waku/v2/node/rest/debug/client as debug_api_client + ../../waku/v2/node/rest/debug/client as debug_api_client, + ../testlib/common, + ../testlib/wakucore, + ../testlib/wakunode proc testWakuNode(): WakuNode = let - rng = crypto.newRng() privkey = crypto.PrivateKey.random(Secp256k1, rng[]).tryGet() bindIp = ValidIpAddress.init("0.0.0.0") extIp = ValidIpAddress.init("127.0.0.1") port = Port(58000) - WakuNode.new(privkey, bindIp, port, some(extIp), some(port)) + newTestWakuNode(privkey, bindIp, port, some(extIp), some(port)) suite "Waku v2 REST API - Debug": @@ -77,7 +80,7 @@ suite "Waku v2 REST API - Debug": check: response.status == 200 $response.contentType == $MIMETYPE_TEXT - response.data == waku_node.git_version + response.data == waku_node2.git_version await restServer.stop() await restServer.closeWait() diff --git a/tests/v2/wakunode_rest/test_rest_relay.nim b/tests/v2/wakunode_rest/test_rest_relay.nim index 0f9331974..694ca2edf 100644 --- a/tests/v2/wakunode_rest/test_rest_relay.nim +++ b/tests/v2/wakunode_rest/test_rest_relay.nim @@ -20,7 +20,8 @@ import ../../waku/v2/protocol/waku_message, ../../waku/v2/protocol/waku_relay, ../../waku/v2/utils/time, - ../testlib/waku2 + ../testlib/wakucore, + ../testlib/wakunode proc testWakuNode(): WakuNode = @@ -30,7 +31,7 @@ proc testWakuNode(): WakuNode = extIp = ValidIpAddress.init("127.0.0.1") port = Port(0) - WakuNode.new(privkey, bindIp, port, some(extIp), some(port)) + newTestWakuNode(privkey, bindIp, port, some(extIp), some(port)) suite "Waku v2 Rest API - Relay": diff --git a/tests/wakubridge/test_wakubridge.nim b/tests/wakubridge/test_wakubridge.nim index fc137838d..f9dea74da 100644 --- a/tests/wakubridge/test_wakubridge.nim +++ b/tests/wakubridge/test_wakubridge.nim @@ -2,7 +2,7 @@ import std/[sequtils, strutils, tables], - stew/byteutils, + stew/[results, byteutils], stew/shims/net as stewNet, testutils/unittests, chronos, @@ -55,7 +55,11 @@ procSuite "WakuBridge": # Waku v2 node v2NodeKey = crypto.PrivateKey.random(Secp256k1, cryptoRng[])[] - v2Node = WakuNode.new(v2NodeKey, ValidIpAddress.init("0.0.0.0"), Port(62203)) + v2Node = block: + var builder = WakuNodeBuilder.init() + builder.withNodeKey(v2NodeKey) + builder.withNetworkConfigurationDetails(ValidIpAddress.init("0.0.0.0"), Port(62203)).tryGet() + builder.build().tryGet() contentTopic = ContentTopic("/waku/1/0x1a2b3c4d/rfc26") topic = [byte 0x1a, byte 0x2b, byte 0x3c, byte 0x4d] @@ -64,6 +68,7 @@ procSuite "WakuBridge": encodedPayloadV2 = Payload(payload: payloadV2, dst: some(nodev1Key.pubKey)) message = WakuMessage(payload: encodedPayloadV2.encode(1, rng[]).get(), contentTopic: contentTopic, version: 1) + ######################## # Tests setup/teardown # ######################## @@ -87,7 +92,7 @@ procSuite "WakuBridge": await v2Node.mountRelay(@[DefaultBridgeTopic], triggerSelf = false) discard waitFor v1Node.rlpxConnect(newNode(bridge.nodev1.toENode())) - waitFor v2Node.connectToNodes(@[bridge.nodev2.switch.peerInfo.toRemotePeerInfo()]) + waitFor waku_node.connectToNodes(v2Node, @[bridge.nodev2.switch.peerInfo.toRemotePeerInfo()]) var completionFut = newFuture[bool]() diff --git a/waku/v2/node/waku_node.nim b/waku/v2/node/waku_node.nim index a97c51d7b..135f1eae1 100644 --- a/waku/v2/node/waku_node.nim +++ b/waku/v2/node/waku_node.nim @@ -150,62 +150,6 @@ proc getAutonatService*(rng: ref HmacDrbgContext): AutonatService = return autonatService -## retain old signature, but deprecate it -proc new*(T: type WakuNode, - nodeKey: crypto.PrivateKey, - bindIp: ValidIpAddress, - bindPort: Port, - extIp = none(ValidIpAddress), - extPort = none(Port), - extMultiAddrs = newSeq[MultiAddress](), - peerStorage: PeerStorage = nil, - maxConnections = builders.MaxConnections, - wsBindPort: Port = (Port)8000, - wsEnabled: bool = false, - wssEnabled: bool = false, - secureKey: string = "", - secureCert: string = "", - wakuFlags = none(CapabilitiesBitfield), - nameResolver: NameResolver = nil, - sendSignedPeerRecord = false, - dns4DomainName = none(string), - discv5UdpPort = none(Port), - wakuDiscv5 = none(WakuDiscoveryV5), - agentString = none(string), # defaults to nim-libp2p version - peerStoreCapacity = none(int), # defaults to 1.25 maxConnections - # TODO: make this argument required after tests are updated - rng: ref HmacDrbgContext = crypto.newRng() - ): T {.raises: [Defect, LPError, IOError, TLSStreamProtocolError], deprecated: "Use NetConfig variant".} = - let netConfigRes = NetConfig.init( - bindIp = bindIp, - bindPort = bindPort, - extIp = extIp, - extPort = extPort, - extMultiAddrs = extMultiAddrs, - wsBindPort = wsBindPort, - wsEnabled = wsEnabled, - wssEnabled = wssEnabled, - wakuFlags = wakuFlags, - dns4DomainName = dns4DomainName, - discv5UdpPort = discv5UdpPort, - ) - if netConfigRes.isErr(): - raise newException(Defect, "invalid node configuration: " & $netConfigRes.error) - - return WakuNode.new( - nodeKey = nodeKey, - netConfig = netConfigRes.get(), - peerStorage = peerStorage, - maxConnections = maxConnections, - secureKey = secureKey, - secureCert = secureCert, - nameResolver = nameResolver, - sendSignedPeerRecord = sendSignedPeerRecord, - wakuDiscv5 = wakuDiscv5, - agentString = agentString, - peerStoreCapacity = peerStoreCapacity, - ) - proc new*(T: type WakuNode, nodeKey: crypto.PrivateKey, netConfig: NetConfig, @@ -223,7 +167,7 @@ proc new*(T: type WakuNode, ): T {.raises: [Defect, LPError, IOError, TLSStreamProtocolError].} = ## Creates a Waku Node instance. - info "Initializing networking", addrs=netConfig.announcedAddresses + info "Initializing networking", addrs= $netConfig.announcedAddresses let switch = newWakuSwitch( some(nodekey), @@ -279,7 +223,7 @@ proc info*(node: WakuNode): WakuInfo = proc connectToNodes*(node: WakuNode, nodes: seq[RemotePeerInfo] | seq[string], source = "api") {.async.} = ## `source` indicates source of node addrs (static config, api call, discovery, etc) # NOTE Connects to the node without a give protocol, which automatically creates streams for relay - await connectToNodes(node.peerManager, nodes, source=source) + await peer_manager.connectToNodes(node.peerManager, nodes, source=source) ## Waku relay