logos-messaging-nim/tests/factory/test_node_factory.nim

73 lines
1.9 KiB
Nim
Raw Permalink Normal View History

{.used.}
import testutils/unittests, chronos, libp2p/protocols/connectivity/relay/relay
import
../testlib/wakunode,
waku/waku_node,
waku/factory/node_factory,
waku/factory/conf_builder/conf_builder,
waku/factory/conf_builder/web_socket_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()
2024-12-09 15:22:36 -05:00
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()
echo "TEST END"
asynctest "Start a node based on default test configuration":
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()