logos-messaging-nim/tests/v2/test_message_store.nim
Dean Eigenmann e875027be4
refactor/db-message-store-split (#280)
* fixes

* fic

* fix

* fix

* fix

* fixed

* fix

* fixes

* fixes, using sqlite lib fully

* fix

* Update sqlite.nim
2020-11-24 10:50:59 +08:00

38 lines
931 B
Nim

import
std/[unittest, options, tables, sets],
chronos, chronicles,
../../waku/v2/node/message_store,
./utils,
../../waku/v2/waku_types,
../../waku/v2/node/sqlite
suite "Message Store":
test "set and get works":
let
database = SqliteDatabase.init("", inMemory = true)[]
store = MessageStore.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