import unittest, stew/[shims/net, results, byteutils], nimcrypto/sha2, libp2p/protocols/pubsub/rpc/messages import waku/waku_relay/message_id, ../testlib/sequtils suite "Message ID Provider": test "Non-empty string": let message = Message(data: "Hello, world!".toBytes()) let result = defaultMessageIdProvider(message) let expected = MDigest[256].fromHex( "315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3" ) check: result.isOk() result.get() == expected.data test "Empty string": let message = Message(data: "".toBytes()) let result = defaultMessageIdProvider(message) let expected = MDigest[256].fromHex( "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" ) check: result.isOk() result.get() == expected.data test "Empty array": let message = Message(data: @[]) let result = defaultMessageIdProvider(message) let expected = MDigest[256].fromHex( "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" ) check: result.isOk() result.get() == expected.data