mirror of
https://github.com/logos-storage/logos-storage-nim.git
synced 2026-05-13 14:59:31 +00:00
33 lines
1.1 KiB
Nim
33 lines
1.1 KiB
Nim
import pkg/chronos
|
|
|
|
import pkg/storage/blockexchange/protocol/presence
|
|
|
|
import ../../../asynctest
|
|
import ../../examples
|
|
import ../../helpers
|
|
|
|
suite "Block presence protobuf messages":
|
|
let
|
|
cid = Cid.example
|
|
address = BlockAddress(treeCid: cid, index: 0)
|
|
presence =
|
|
Presence(address: address, have: true, presenceType: BlockPresenceType.HaveRange)
|
|
message = PresenceMessage.init(presence)
|
|
|
|
test "encodes have/donthave":
|
|
var presence = presence
|
|
presence.presenceType = BlockPresenceType.HaveRange
|
|
check PresenceMessage.init(presence).kind == BlockPresenceType.HaveRange
|
|
presence.presenceType = BlockPresenceType.DontHave
|
|
check PresenceMessage.init(presence).kind == BlockPresenceType.DontHave
|
|
|
|
test "decodes CID":
|
|
check Presence.init(message) .? address == address.some
|
|
|
|
test "decodes have/donthave":
|
|
var message = message
|
|
message.kind = BlockPresenceType.HaveRange
|
|
check Presence.init(message) .? have == true.some
|
|
message.kind = BlockPresenceType.DontHave
|
|
check Presence.init(message) .? have == false.some
|