nwaku/tests/v2/test_rest_debug_api_serdes.nim

43 lines
983 B
Nim

{.used.}
import
stew/results,
stew/byteutils,
testutils/unittests,
json_serialization
import
../../waku/v2/node/rest/serdes,
../../waku/v2/node/rest/debug/api_types
suite "Debug API - 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: none(string))
# When
let res = encodeIntoJsonBytes(data)
# Then
require(res.isOk)
let value = res.get()
check:
value == toBytes("""{"listenAddresses":["GO"]}""")