Chrysostomos Nanakos bb6ab1befa
chore: Block exchange protocol rewrite (#1411)
Signed-off-by: Chrysostomos Nanakos <chris@include.gr>
2026-04-25 00:37:42 +00:00

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