mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-01-02 14:03:06 +00:00
Split `WakuNodeConfig` object for better separation of concerns and to introduce a tree-like structure to configuration. * fix: ensure twn cluster conf is still applied when clusterId=1 * test: remove usage of `WakuNodeConf` * Remove macro, split builder files, remove wakunodeconf from tests * rm network_conf_builder module as it is not used --------- Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Co-authored-by: Ivan Folgueira Bande <ivansete@status.im>
71 lines
1.8 KiB
Nim
71 lines
1.8 KiB
Nim
{.used.}
|
|
|
|
import testutils/unittests, chronos, libp2p/protocols/connectivity/relay/relay
|
|
|
|
import
|
|
../testlib/wakunode,
|
|
waku/factory/node_factory,
|
|
waku/waku_node,
|
|
waku/factory/conf_builder/conf_builder
|
|
|
|
suite "Node Factory":
|
|
test "Set up a node based on default configurations":
|
|
let conf = defaultTestWakuConf()
|
|
|
|
let node = setupNode(conf, relay = Relay.new()).valueOr:
|
|
raiseAssert error
|
|
|
|
check:
|
|
not node.isNil()
|
|
node.wakuArchive.isNil()
|
|
node.wakuStore.isNil()
|
|
node.wakuFilter.isNil()
|
|
not node.wakuStoreClient.isNil()
|
|
not node.wakuRendezvous.isNil()
|
|
|
|
test "Set up a node with Store enabled":
|
|
var confBuilder = defaultTestWakuConfBuilder()
|
|
confBuilder.storeServiceConf.withEnabled(true)
|
|
confBuilder.storeServiceConf.withDbUrl("sqlite://store.sqlite3")
|
|
let conf = confBuilder.build().value
|
|
|
|
let node = setupNode(conf, relay = Relay.new()).valueOr:
|
|
raiseAssert error
|
|
|
|
check:
|
|
not node.isNil()
|
|
not node.wakuStore.isNil()
|
|
not node.wakuArchive.isNil()
|
|
|
|
test "Set up a node with Filter enabled":
|
|
var confBuilder = defaultTestWakuConfBuilder()
|
|
confBuilder.filterServiceConf.withEnabled(true)
|
|
let conf = confBuilder.build().value
|
|
|
|
let node = setupNode(conf, relay = Relay.new()).valueOr:
|
|
raiseAssert error
|
|
|
|
check:
|
|
not node.isNil()
|
|
not node.wakuFilter.isNil()
|
|
|
|
test "Start a node based on default configurations":
|
|
let conf = defaultTestWakuConf()
|
|
|
|
let node = setupNode(conf, relay = Relay.new()).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()
|