lightpush better feedback in case the lightpush service node does not have peers (#2951)

This commit is contained in:
Ivan FB 2024-08-02 09:45:05 +02:00 committed by GitHub
parent 64855502cf
commit ebda56dd90
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 6 deletions

View File

@ -1,7 +1,7 @@
{.used.}
import
std/[options, tables, sequtils, tempfiles],
std/[options, tables, sequtils, tempfiles, strutils],
stew/shims/net as stewNet,
testutils/unittests,
chronos,
@ -86,8 +86,13 @@ suite "Waku Lightpush - End To End":
if not publishResponse.isOk():
echo "Publish failed: ", publishResponse.error()
# Then the message is relayed to the server
assertResultOk publishResponse
# Then the message is not relayed but not due to RLN
assert publishResponse.isErr(), "We expect an error response"
assert (
publishResponse.error.contains(
"Lightpush request has not been published to any peers"
)
), "incorrect error response"
suite "Waku LightPush Validation Tests":
asyncTest "Validate message size exceeds limit":
@ -174,5 +179,10 @@ suite "RLN Proofs as a Lightpush Service":
if not publishResponse.isOk():
echo "Publish failed: ", publishResponse.error()
# Then the message is relayed to the server
assertResultOk publishResponse
# Then the message is not relayed but not due to RLN
assert publishResponse.isErr(), "We expect an error response"
assert (
publishResponse.error.contains(
"Lightpush request has not been published to any peers"
)
), "incorrect error response"

View File

@ -54,5 +54,8 @@ proc getRelayPushHandler*(
## Agreed change expected to the lightpush protocol to better handle such case. https://github.com/waku-org/pm/issues/93
let msgHash = computeMessageHash(pubsubTopic, message).to0xHex()
notice "Lightpush request has not been published to any peers", msg_hash = msgHash
return err(
"Lightpush request has not been published to any peers. msg_hash: " & msgHash
)
return ok()

View File

@ -42,8 +42,10 @@ proc handleRequest*(
pubSubTopic = request.get().pubSubTopic
message = request.get().message
waku_lightpush_messages.inc(labelValues = ["PushRequest"])
notice "lightpush request",
notice "handling lightpush request",
peer_id = peerId,
requestId = requestId,
pubsubTopic = pubsubTopic,