{.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": asynctest "Set up a node based on default configurations": let conf = defaultTestWakuConf() let node = (await 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() asynctest "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 = (await setupNode(conf, relay = Relay.new())).valueOr: raiseAssert error check: not node.isNil() not node.wakuStore.isNil() not node.wakuArchive.isNil() asynctest "Set up a node with Filter enabled": var confBuilder = defaultTestWakuConfBuilder() confBuilder.filterServiceConf.withEnabled(true) let conf = confBuilder.build().value let node = (await setupNode(conf, relay = Relay.new())).valueOr: raiseAssert error check: not node.isNil() not node.wakuFilter.isNil() asynctest "Start a node based on default configurations": let conf = defaultTestWakuConf() let node = (await setupNode(conf, relay = Relay.new())).valueOr: raiseAssert error assert not node.isNil(), "Node can't be nil" let startRes = catch: (await 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 await node.stop()