From 72d9ed5b0bbd67819b5e23e71f5d6f17ec016a85 Mon Sep 17 00:00:00 2001 From: gabrielmer <101006718+gabrielmer@users.noreply.github.com> Date: Tue, 12 Mar 2024 09:12:44 -0600 Subject: [PATCH] chore: adding node factory tests (#2524) --- tests/all_tests_waku.nim | 3 ++ tests/factory/test_node_factory.nim | 67 +++++++++++++++++++++++++++++ tests/testlib/wakunode.nim | 3 +- 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 tests/factory/test_node_factory.nim diff --git a/tests/all_tests_waku.nim b/tests/all_tests_waku.nim index b6b7e4b73..70261b2f1 100644 --- a/tests/all_tests_waku.nim +++ b/tests/all_tests_waku.nim @@ -81,3 +81,6 @@ import ./wakunode_rest/test_rest_cors import ./waku_rln_relay/test_all + +# Node Factory +import ./factory/test_node_factory diff --git a/tests/factory/test_node_factory.nim b/tests/factory/test_node_factory.nim new file mode 100644 index 000000000..d00608561 --- /dev/null +++ b/tests/factory/test_node_factory.nim @@ -0,0 +1,67 @@ +{.used.} + +import + testutils/unittests, + chronos + +import + ../testlib/wakunode, + ../../waku/factory/node_factory, + ../../waku/waku_node + +suite "Node Factory": + test "Set up a node based on default configurations": + let conf = defaultTestWakuNodeConf() + + let node = setupNode(conf).valueOr: + raiseAssert error + + check: + not node.isNil() + node.wakuArchive.isNil() + node.wakuStore.isNil() + node.wakuFilter.isNil() + not node.wakuStoreClient.isNil() + not node.rendezvous.isNil() + + test "Set up a node with Store enabled": + var conf = defaultTestWakuNodeConf() + conf.store = true + + let node = setupNode(conf).valueOr: + raiseAssert error + + check: + not node.isNil() + not node.wakuStore.isNil() + not node.wakuArchive.isNil() + +test "Set up a node with Filter enabled": + var conf = defaultTestWakuNodeConf() + conf.filter = true + + let node = setupNode(conf).valueOr: + raiseAssert error + + check: + not node.isNil() + not node.wakuFilter.isNil() + +test "Start a node based on default configurations": + let conf = defaultTestWakuNodeConf() + + let node = setupNode(conf).valueOr: + raiseAssert error + + assert not node.isNil(), "Node can't be nil" + + let startRes = catch: (waitFor startNode(node, conf)) + + assert not startRes.isErr(), "Exception starting node" + assert startRes.get().isOk(), "Error starting node " & startRes.get().error + + check: + node.started == true + + ## Cleanup + waitFor node.stop() diff --git a/tests/testlib/wakunode.nim b/tests/testlib/wakunode.nim index 71b4f08c2..bf460c9b3 100644 --- a/tests/testlib/wakunode.nim +++ b/tests/testlib/wakunode.nim @@ -35,7 +35,8 @@ proc defaultTestWakuNodeConf*(): WakuNodeConf = maxMessageSize: "1024 KiB", clusterId: 1.uint32, topics: @["/waku/2/rs/1/0"], - relay: true + relay: true, + storeMessageDbUrl: "sqlite://store.sqlite3" ) proc newTestWakuNode*(nodeKey: crypto.PrivateKey,