mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-07-21 20:19:35 +00:00
* change all usage of std.options.Option[T] to results.Opt[T] * fix broken apps and examples (to validate refactor) * removed all std/options code added for libp2p v2 migration * add broker Opt codec to persistency/backend_comm.nim * add a readValue overload for Opt[T] in tools/confutils/cli_args.nim * keep Option where required (Presto, confutils' config_file.nim) * Change generateRlnProof error handling * Fix imports
37 lines
1016 B
Nim
37 lines
1016 B
Nim
{.used.}
|
|
|
|
import results, stew/byteutils, testutils/unittests, json_serialization
|
|
import
|
|
logos_delivery/waku/rest_api/endpoint/serdes,
|
|
logos_delivery/waku/rest_api/endpoint/debug/types
|
|
|
|
suite "Waku v2 REST API - Debug - serialization":
|
|
suite "DebugWakuInfo - decode":
|
|
test "optional field is not provided":
|
|
# Given
|
|
let jsonBytes = toBytes("""{ "listenAddresses":["123"] }""")
|
|
|
|
# When
|
|
let res = decodeFromJsonBytes(DebugWakuInfo, jsonBytes, requireAllFields = true)
|
|
|
|
# Then
|
|
require(res.isOk())
|
|
let value = res.get()
|
|
check:
|
|
value.listenAddresses == @["123"]
|
|
value.enrUri.isNone()
|
|
|
|
suite "DebugWakuInfo - encode":
|
|
test "optional field is none":
|
|
# Given
|
|
let data = DebugWakuInfo(listenAddresses: @["GO"], enrUri: Opt.none(string))
|
|
|
|
# When
|
|
let res = encodeIntoJsonBytes(data)
|
|
|
|
# Then
|
|
require(res.isOk())
|
|
let value = res.get()
|
|
check:
|
|
value == toBytes("""{"listenAddresses":["GO"]}""")
|