mirror of https://github.com/waku-org/nwaku.git
37 lines
945 B
Nim
37 lines
945 B
Nim
|
|
import
|
|
std/[unittest, options, tables, sets],
|
|
chronos, chronicles,
|
|
../../waku/v2/node/message_store/waku_message_store,
|
|
../../waku/v2/protocol/waku_store/waku_store,
|
|
./utils
|
|
|
|
suite "Message Store":
|
|
test "set and get works":
|
|
let
|
|
database = SqliteDatabase.init("", inMemory = true)[]
|
|
store = WakuMessageStore.init(database)[]
|
|
topic = ContentTopic(1)
|
|
|
|
var msgs = @[
|
|
WakuMessage(payload: @[byte 1, 2, 3], contentTopic: topic),
|
|
WakuMessage(payload: @[byte 1, 2, 3, 4], contentTopic: topic),
|
|
WakuMessage(payload: @[byte 1, 2, 3, 4, 5], contentTopic: topic),
|
|
]
|
|
|
|
defer: store.close()
|
|
|
|
for msg in msgs:
|
|
discard store.put(computeIndex(msg), msg)
|
|
|
|
var responseCount = 0
|
|
proc data(timestamp: uint64, msg: WakuMessage) =
|
|
responseCount += 1
|
|
check msg in msgs
|
|
|
|
let res = store.getAll(data)
|
|
|
|
check:
|
|
res.isErr == false
|
|
responseCount == 3
|