mirror of
https://github.com/waku-org/nwaku.git
synced 2025-01-16 18:06:45 +00:00
ed09074cc3
* message.nim: set max message size to 150KiB according to spec Using KiB instead of KB because that seems more aligned with the actual default defined in nim-libp2p (1024 * 1024) Spec details: https://rfc.vac.dev/spec/64/#message-size * test_protocol.nim: align test to current WakuMessage limit * test_waku_client.nim: adapt test to MaxWakuMessageSize change * make maxMessageSize configurable for wakunode2 * wakunode2 app now accepts max-num-bytes-msg-size with KiB, KB, or B units * testlib/wakunode.nim: set maxMessageSize: "1024 KiB" * test_waku_client.nim: remove duplicate check in "Valid Payload Sizes" * set DefaultMaxWakuMessageSizeStr as the only source of truth * external_config.nim: rename max-num-bytes-msg-size -> max-msg-size
107 lines
3.7 KiB
Nim
107 lines
3.7 KiB
Nim
{.used.}
|
|
|
|
import
|
|
testutils/unittests,
|
|
stew/results
|
|
import
|
|
../../waku/common/utils/parse_size_units
|
|
|
|
suite "Size serialization test":
|
|
test "parse normal sizes":
|
|
var sizeInBytesRes = parseMsgSize("15 KiB")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 15360
|
|
|
|
sizeInBytesRes = parseMsgSize(" 1048576 B")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1048576
|
|
|
|
sizeInBytesRes = parseMsgSize("150 B")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 150
|
|
|
|
sizeInBytesRes = parseMsgSize("150 b")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 150
|
|
|
|
sizeInBytesRes = parseMsgSize("150b")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 150
|
|
|
|
sizeInBytesRes = parseMsgSize("1024kib")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1048576
|
|
|
|
sizeInBytesRes = parseMsgSize("1024KiB")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1048576
|
|
|
|
sizeInBytesRes = parseMsgSize("1024KB")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1024000
|
|
|
|
sizeInBytesRes = parseMsgSize("1024kb")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1024000
|
|
|
|
sizeInBytesRes = parseMsgSize("1.5 kib")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1536
|
|
|
|
sizeInBytesRes = parseMsgSize("1,5 kb")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1500
|
|
|
|
sizeInBytesRes = parseMsgSize("0,5 kb")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 500
|
|
|
|
sizeInBytesRes = parseMsgSize("1.5 kb")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1500
|
|
|
|
sizeInBytesRes = parseMsgSize("0.5 kb")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 500
|
|
|
|
sizeInBytesRes = parseMsgSize(" 1.5 KB")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 1500
|
|
|
|
sizeInBytesRes = parseMsgSize(" 0.5 kb")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == 500
|
|
|
|
sizeInBytesRes = parseMsgSize(" 1024 kib")
|
|
assert sizeInBytesRes.isOk(), sizeInBytesRes.error
|
|
check sizeInBytesRes.get() == uint64(1024 * 1024)
|
|
|
|
test "parse wrong sizes":
|
|
var sizeInBytesRes = parseMsgSize("150K")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect"
|
|
|
|
sizeInBytesRes = parseMsgSize("150 iB")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect"
|
|
|
|
sizeInBytesRes = parseMsgSize("150 ib")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect"
|
|
|
|
sizeInBytesRes = parseMsgSize("150 MB")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect"
|
|
|
|
## notice that we don't allow MB units explicitly. If someone want to set 1MiB, the
|
|
## s/he should use 1024 KiB
|
|
sizeInBytesRes = parseMsgSize("150 MiB")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect"
|
|
|
|
sizeInBytesRes = parseMsgSize("150MiB")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect"
|
|
|
|
sizeInBytesRes = parseMsgSize("150K")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect"
|
|
|
|
sizeInBytesRes = parseMsgSize("150 K")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect"
|
|
|
|
sizeInBytesRes = parseMsgSize("15..0 KiB")
|
|
assert sizeInBytesRes.isErr(), "The size should be considered incorrect" |