tests pass - validate conf

This commit is contained in:
fryorcraken 2025-09-09 21:13:17 +10:00
parent 9ec9468d6f
commit d35251df6e
3 changed files with 31 additions and 53 deletions

View File

@ -100,7 +100,17 @@ proc toWakuConf*(libConf: LibWakuConf): Result[WakuConf, string] =
b.rlnRelayConf.withDynamic(true)
b.rlnRelayConf.withEthClientUrls(rlnConfig.rpcApiUrls)
# TODO: we should get rid of those two
b.rlnRelayconf.withUserMessageLimit(100)
b.rlnRelayConf.withTreePath("./rln_tree")
## Various configurations
b.withNatStrategy("any")
return b.build()
let wakuConf = b.build().valueOr:
return err("Failed to build configuration: " & error)
wakuConf.validate().isOkOr:
return err("Failed to validate configuration: " & error)
return ok(wakuConf)

View File

@ -54,50 +54,6 @@ suite "LibWaku - createNode":
node.conf.clusterId == 42
node.conf.shardingConf.numShardsInCluster == 8
asyncTest "Create node with message validation and RLN":
## Given
let libConf = LibWakuConf(
mode: Relay,
networkConf: libwaku_conf.NetworkConf(
bootstrapNodes: @[],
staticStoreNodes: @[],
clusterId: 1,
shardingMode: StaticSharding,
autoShardingConf: none(AutoShardingConf),
messageValidation: some(
MessageValidation(
maxMessageSizeBytes: 200'u64 * 1024'u64, # 200KB
rlnConfig: some(
RlnConfig(
contractAddress: "0x1234567890123456789012345678901234567890",
chainId: 1'u,
epochSizeSec: 600'u64,
rpcApiUrls: @["https://example.com/1234"],
)
),
)
),
),
storeConfirmation: false,
)
## When
let node = (await createNode(libConf)).valueOr:
raiseAssert error
## Then
check:
not node.isNil()
node.conf.maxMessageSizeBytes == 200'u64 * 1024'u64
node.conf.rlnRelayConf.isSome()
if node.conf.rlnRelayConf.isSome():
let rlnConf = node.conf.rlnRelayConf.get()
check:
rlnConf.dynamic == true
rlnConf.ethContractAddress == "0x1234567890123456789012345678901234567890"
rlnConf.epochSizeSec == 600'u64
asyncTest "Create node with full configuration":
## Given
let libConf = LibWakuConf(

View File

@ -25,6 +25,7 @@ suite "LibWaku Conf - toWakuConf":
## Then
require wakuConfRes.isOk()
let wakuConf = wakuConfRes.get()
require wakuConf.validate().isOk()
check:
wakuConf.relay == true
wakuConf.lightPush == true
@ -53,6 +54,7 @@ suite "LibWaku Conf - toWakuConf":
## Then
require wakuConfRes.isOk()
let wakuConf = wakuConfRes.get()
require wakuConf.validate().isOk()
check:
wakuConf.clusterId == 42
wakuConf.shardingConf.kind == ShardingConfKind.AutoSharding
@ -84,6 +86,7 @@ suite "LibWaku Conf - toWakuConf":
## Then
require wakuConfRes.isOk()
let wakuConf = wakuConfRes.get()
require wakuConf.validate().isOk()
require wakuConf.discv5Conf.isSome()
check:
wakuConf.discv5Conf.get().bootstrapNodes == bootstrapNodes
@ -114,6 +117,7 @@ suite "LibWaku Conf - toWakuConf":
## Then
require wakuConfRes.isOk()
let wakuConf = wakuConfRes.get()
require wakuConf.validate().isOk()
check:
wakuConf.staticNodes == staticStoreNodes
@ -143,6 +147,7 @@ suite "LibWaku Conf - toWakuConf":
## Then
require wakuConfRes.isOk()
let wakuConf = wakuConfRes.get()
require wakuConf.validate().isOk()
check:
wakuConf.maxMessageSizeBytes == 100'u64 * 1024'u64
@ -164,6 +169,7 @@ suite "LibWaku Conf - toWakuConf":
contractAddress: "0x1234567890123456789012345678901234567890",
chainId: 1'u,
epochSizeSec: 600'u64,
rpcApiUrls: @["http://127.0.0.1:1111"],
)
),
)
@ -173,11 +179,12 @@ suite "LibWaku Conf - toWakuConf":
)
## When
let wakuConfRes = toWakuConf(libConf)
let wakuConf = toWakuConf(libConf).valueOr:
raiseAssert error
wakuConf.validate().isOkOr:
raiseAssert error
## Then
require wakuConfRes.isOk()
let wakuConf = wakuConfRes.get()
check:
wakuConf.maxMessageSizeBytes == 150'u64 * 1024'u64
@ -213,6 +220,7 @@ suite "LibWaku Conf - toWakuConf":
contractAddress: "0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
chainId: 5'u, # Goerli
epochSizeSec: 300'u64,
rpcApiUrls: @["https://127.0.0.1:8333"],
)
),
)
@ -225,8 +233,10 @@ suite "LibWaku Conf - toWakuConf":
let wakuConfRes = toWakuConf(libConf)
## Then
require wakuConfRes.isOk()
let wakuConf = wakuConfRes.get()
let wakuConf = wakuConfRes.valueOr:
raiseAssert error
wakuConf.validate().isOkOr:
raiseAssert error
# Check basic settings
check:
@ -283,8 +293,10 @@ suite "LibWaku Conf - toWakuConf":
let wakuConfRes = toWakuConf(libConf)
## Then
require wakuConfRes.isOk()
let wakuConf = wakuConfRes.get()
let wakuConf = wakuConfRes.valueOr:
raiseAssert error
wakuConf.validate().isOkOr:
raiseAssert error
check:
wakuConf.clusterId == 0
wakuConf.shardingConf.kind == ShardingConfKind.StaticSharding