Skip to content

Commit d6a64e5

Browse files
Fix tests
1 parent 2a1fe1f commit d6a64e5

2 files changed

Lines changed: 25 additions & 19 deletions

File tree

logos_delivery/api/conf/messaging_conf.nim

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ proc toWakuNodeConf*(
7777
## Mode sets the protocol flags; set fields map to their kernel counterpart.
7878
var conf = ?defaultWakuNodeConf()
7979
?applyMode(conf, mode)
80+
# Keep the `mode` field consistent with the applied flags so a later
81+
# `LogosDelivery.new(WakuNodeConf)` re-application is idempotent instead of
82+
# clobbering these flags with the field's default (`Core`).
83+
conf.mode = mode
8084

8185
if self.store.isSome():
8286
conf.store = self.store.get()

tests/api/test_conf.nim

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,9 @@ suite "parseLogosDeliveryConf - JSON parsing":
243243
kc.storeMessageRetentionPolicy == "time:3600"
244244
kc.storeMaxNumDbConnections == 7
245245

246-
test "fleet mode parses a raw kernelConf":
246+
test "kernel entry layer parses a raw kernelConf":
247247
let lc = parseLogosDeliveryConf(
248-
"""{"mode": "fleet", "kernelConf": {"relay": false, "maxMessageSize": "150KiB"}}"""
248+
"""{"entrylayer": "kernel", "kernelConf": {"relay": false, "maxMessageSize": "150KiB"}}"""
249249
).valueOr:
250250
raiseAssert error
251251
check:
@@ -256,24 +256,25 @@ suite "parseLogosDeliveryConf - JSON parsing":
256256
kc.relay == false
257257
kc.maxMessageSize == "150KiB"
258258

259-
test "fleet mode requires a kernelConf":
260-
check parseLogosDeliveryConf("""{"mode": "fleet"}""").isErr()
259+
test "kernel entry layer requires a kernelConf":
260+
check parseLogosDeliveryConf("""{"entrylayer": "kernel"}""").isErr()
261261

262-
test "fleet mode rejects anything besides kernelConf":
262+
test "kernel entry layer rejects anything besides kernelConf":
263263
check parseLogosDeliveryConf(
264-
"""{"mode": "fleet", "kernelConf": {}, "messagingOverrides": {"clusterId": 1}}"""
264+
"""{"entrylayer": "kernel", "kernelConf": {}, "messagingOverrides": {"clusterId": 1}}"""
265265
)
266266
.isErr()
267-
# a preset for a fleet node goes inside kernelConf (WakuNodeConf.preset); fleet
268-
# treats kernelConf as a finished object and overlays nothing onto it
267+
# a preset for a kernel node goes inside kernelConf (WakuNodeConf.preset); the
268+
# kernel entry layer treats kernelConf as a finished object and overlays nothing
269269
check parseLogosDeliveryConf(
270-
"""{"mode": "fleet", "kernelConf": {}, "preset": "twn"}"""
270+
"""{"entrylayer": "kernel", "kernelConf": {}, "preset": "twn"}"""
271271
)
272272
.isErr()
273273

274-
test "kernelConf is rejected outside fleet mode":
275-
# kernelConf is a fleet-only wrapper. Under Core/Edge it is neither consumed by the
276-
# structured path nor a flat kernel field, so it must surface as an unknown key.
274+
test "kernelConf is rejected outside the kernel entry layer":
275+
# kernelConf is a kernel-entry-layer wrapper. Under messaging/channels it is
276+
# neither consumed by the structured path nor a flat kernel field, so it must
277+
# surface as an unknown key.
277278
check parseLogosDeliveryConf("""{"mode": "core", "kernelConf": {}}""").isErr()
278279

279280
suite "LogosDelivery.new - construction (the app-dev entry)":
@@ -282,9 +283,9 @@ suite "LogosDelivery.new - construction (the app-dev entry)":
282283
lockNewGlobalBrokerContext:
283284
node = (
284285
await LogosDelivery.new(
285-
LogosDeliveryMode.Core,
286-
"",
287-
MessagingClientConf(
286+
mode = LogosDeliveryMode.Core,
287+
preset = "",
288+
messagingOverrides = MessagingClientConf(
288289
clusterId: some(3'u16),
289290
numShardsInCluster: some(1'u16),
290291
listenIpv4: some(parseIpAddress("0.0.0.0")),
@@ -304,9 +305,10 @@ suite "LogosDelivery.new - construction (the app-dev entry)":
304305
lockNewGlobalBrokerContext:
305306
node = (
306307
await LogosDelivery.new(
307-
LogosDeliveryMode.Core,
308-
"logostest",
309-
MessagingClientConf(listenIpv4: some(parseIpAddress("0.0.0.0"))),
308+
mode = LogosDeliveryMode.Core,
309+
preset = "logostest",
310+
messagingOverrides =
311+
MessagingClientConf(listenIpv4: some(parseIpAddress("0.0.0.0"))),
310312
)
311313
).valueOr:
312314
raiseAssert error
@@ -324,7 +326,7 @@ suite "MessagingClientConf - store override":
324326
kc.relay == false # protocols are owned by the mode, not overridable
325327

326328
suite "LogosDelivery.new - raw kernel construction":
327-
asyncTest "a fleet node mounts the kernel only; start/stop tolerate the nil layers":
329+
asyncTest "a kernel-only node mounts the kernel only; start/stop tolerate the nil layers":
328330
let kernel = MessagingClientConf(listenIpv4: some(parseIpAddress("0.0.0.0"))).toWakuNodeConf(
329331
LogosDeliveryMode.Core
330332
).valueOr:

0 commit comments

Comments
 (0)