mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-07-19 11:09:26 +00:00
Apply fast retry pacing to node-internal group managers in tests
Tests that mount RLN on a WakuNode register through the node's own group manager, which the factory builds from WakuRlnConfig with the production retry pacing — so each of those registrations still stalled 4s on the first receipt poll. Wrap the manager casts in withFastRetries(), which applies the test pacing after mount; register() reads the strategy at call time, so this is effective. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
8ee2312dd5
commit
f133a17bd1
@ -136,7 +136,7 @@ suite "RLN Proofs as a Lightpush Service":
|
||||
check (await server.mountLegacyLightPush()).isOk()
|
||||
client.mountLegacyLightPushClient()
|
||||
|
||||
let manager1 = cast[OnchainGroupManager](server.rln.groupManager)
|
||||
let manager1 = cast[OnchainGroupManager](server.rln.groupManager).withFastRetries()
|
||||
let idCredentials1 = generateCredentials()
|
||||
|
||||
(waitFor manager1.register(idCredentials1, UserMessageLimit(20))).isOkOr:
|
||||
|
||||
@ -132,7 +132,7 @@ suite "RLN Proofs as a Lightpush Service":
|
||||
check (await server.mountLightPush()).isOk()
|
||||
client.mountLightPushClient()
|
||||
|
||||
let manager1 = cast[OnchainGroupManager](server.rln.groupManager)
|
||||
let manager1 = cast[OnchainGroupManager](server.rln.groupManager).withFastRetries()
|
||||
let idCredentials1 = generateCredentials()
|
||||
|
||||
(waitFor manager1.register(idCredentials1, UserMessageLimit(20))).isOkOr:
|
||||
|
||||
@ -230,7 +230,7 @@ suite "Waku rln relay":
|
||||
rln = (await Rln.new(wakuRlnConfig)).valueOr:
|
||||
raiseAssert $error
|
||||
|
||||
let manager = cast[OnchainGroupManager](rln.groupManager)
|
||||
let manager = cast[OnchainGroupManager](rln.groupManager).withFastRetries()
|
||||
let idCredentials = generateCredentials()
|
||||
|
||||
(waitFor manager.register(idCredentials, UserMessageLimit(20))).isOkOr:
|
||||
@ -286,7 +286,7 @@ suite "Waku rln relay":
|
||||
rln = (await Rln.new(wakuRlnConfig)).valueOr:
|
||||
raiseAssert $error
|
||||
|
||||
let manager = cast[OnchainGroupManager](rln.groupManager)
|
||||
let manager = cast[OnchainGroupManager](rln.groupManager).withFastRetries()
|
||||
let idCredentials = generateCredentials()
|
||||
|
||||
(waitFor manager.register(idCredentials, UserMessageLimit(20))).isOkOr:
|
||||
@ -335,7 +335,8 @@ suite "Waku rln relay":
|
||||
wakuRlnRelay1 = (await Rln.new(rlnConf1)).valueOr:
|
||||
raiseAssert "failed to create waku rln relay: " & $error
|
||||
|
||||
let manager1 = cast[OnchainGroupManager](wakuRlnRelay1.groupManager)
|
||||
let manager1 =
|
||||
cast[OnchainGroupManager](wakuRlnRelay1.groupManager).withFastRetries()
|
||||
let idCredentials1 = generateCredentials()
|
||||
|
||||
(waitFor manager1.register(idCredentials1, UserMessageLimit(20))).isOkOr:
|
||||
@ -348,7 +349,8 @@ suite "Waku rln relay":
|
||||
wakuRlnRelay2 = (await Rln.new(rlnConf2)).valueOr:
|
||||
raiseAssert "failed to create waku rln relay: " & $error
|
||||
|
||||
let manager2 = cast[OnchainGroupManager](wakuRlnRelay2.groupManager)
|
||||
let manager2 =
|
||||
cast[OnchainGroupManager](wakuRlnRelay2.groupManager).withFastRetries()
|
||||
let idCredentials2 = generateCredentials()
|
||||
|
||||
(waitFor manager2.register(idCredentials2, UserMessageLimit(20))).isOkOr:
|
||||
|
||||
@ -57,7 +57,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node1.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager)
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager).withFastRetries()
|
||||
let idCredentials1 = generateCredentials()
|
||||
|
||||
(waitFor manager1.register(idCredentials1, UserMessageLimit(20))).isOkOr:
|
||||
@ -80,7 +80,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node2.setRlnValidator(wakuRlnConfig2)
|
||||
await node2.start()
|
||||
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager)
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager).withFastRetries()
|
||||
let rootUpdated2 = waitFor manager2.updateRoots()
|
||||
info "Updated root for node2", rootUpdated2
|
||||
|
||||
@ -98,7 +98,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node3.setRlnValidator(wakuRlnConfig3)
|
||||
await node3.start()
|
||||
|
||||
let manager3 = cast[OnchainGroupManager](node3.rln.groupManager)
|
||||
let manager3 = cast[OnchainGroupManager](node3.rln.groupManager).withFastRetries()
|
||||
let rootUpdated3 = waitFor manager3.updateRoots()
|
||||
info "Updated root for node3", rootUpdated3
|
||||
|
||||
@ -168,7 +168,7 @@ procSuite "WakuNode - RLN relay":
|
||||
getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
|
||||
await node1.setRlnValidator(wakuRlnConfig1)
|
||||
await node1.start()
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager)
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager).withFastRetries()
|
||||
let idCredentials1 = generateCredentials()
|
||||
|
||||
(waitFor manager1.register(idCredentials1, UserMessageLimit(20))).isOkOr:
|
||||
@ -185,7 +185,7 @@ procSuite "WakuNode - RLN relay":
|
||||
getWakuRlnConfig(manager = manager, index = MembershipIndex(2))
|
||||
await node2.setRlnValidator(wakuRlnConfig2)
|
||||
await node2.start()
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager)
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager).withFastRetries()
|
||||
let idCredentials2 = generateCredentials()
|
||||
|
||||
(waitFor manager2.register(idCredentials2, UserMessageLimit(20))).isOkOr:
|
||||
@ -202,7 +202,7 @@ procSuite "WakuNode - RLN relay":
|
||||
getWakuRlnConfig(manager = manager, index = MembershipIndex(3))
|
||||
await node3.setRlnValidator(wakuRlnConfig3)
|
||||
await node3.start()
|
||||
let manager3 = cast[OnchainGroupManager](node3.rln.groupManager)
|
||||
let manager3 = cast[OnchainGroupManager](node3.rln.groupManager).withFastRetries()
|
||||
let idCredentials3 = generateCredentials()
|
||||
|
||||
(waitFor manager3.register(idCredentials3, UserMessageLimit(20))).isOkOr:
|
||||
@ -319,7 +319,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node1.setRlnValidator(wakuRlnConfig1)
|
||||
await node1.start()
|
||||
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager)
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager).withFastRetries()
|
||||
let idCredentials1 = generateCredentials()
|
||||
|
||||
(waitFor manager1.register(idCredentials1, UserMessageLimit(20))).isOkOr:
|
||||
@ -340,7 +340,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node2.setRlnValidator(wakuRlnConfig2)
|
||||
await node2.start()
|
||||
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager)
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager).withFastRetries()
|
||||
let rootUpdated2 = waitFor manager2.updateRoots()
|
||||
info "Updated root for node2", rootUpdated2
|
||||
lockNewGlobalBrokerContext:
|
||||
@ -356,7 +356,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node3.setRlnValidator(wakuRlnConfig3)
|
||||
await node3.start()
|
||||
|
||||
let manager3 = cast[OnchainGroupManager](node3.rln.groupManager)
|
||||
let manager3 = cast[OnchainGroupManager](node3.rln.groupManager).withFastRetries()
|
||||
let rootUpdated3 = waitFor manager3.updateRoots()
|
||||
info "Updated root for node3", rootUpdated3
|
||||
|
||||
@ -431,7 +431,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node1.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager)
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager).withFastRetries()
|
||||
let idCredentials1 = generateCredentials()
|
||||
|
||||
(waitFor manager1.register(idCredentials1, UserMessageLimit(20))).isOkOr:
|
||||
@ -454,7 +454,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node2.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager)
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager).withFastRetries()
|
||||
let rootUpdated2 = waitFor manager2.updateRoots()
|
||||
info "Updated root for node2", rootUpdated2
|
||||
lockNewGlobalBrokerContext:
|
||||
@ -472,7 +472,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node3.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager3 = cast[OnchainGroupManager](node3.rln.groupManager)
|
||||
let manager3 = cast[OnchainGroupManager](node3.rln.groupManager).withFastRetries()
|
||||
let rootUpdated3 = waitFor manager3.updateRoots()
|
||||
info "Updated root for node3", rootUpdated3
|
||||
|
||||
@ -600,7 +600,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node1.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager)
|
||||
let manager1 = cast[OnchainGroupManager](node1.rln.groupManager).withFastRetries()
|
||||
let idCredentials1 = generateCredentials()
|
||||
|
||||
(waitFor manager1.register(idCredentials1, UserMessageLimit(20))).isOkOr:
|
||||
@ -619,7 +619,7 @@ procSuite "WakuNode - RLN relay":
|
||||
await node2.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager)
|
||||
let manager2 = cast[OnchainGroupManager](node2.rln.groupManager).withFastRetries()
|
||||
let rootUpdated2 = waitFor manager2.updateRoots()
|
||||
info "Updated root for node2", rootUpdated2
|
||||
|
||||
|
||||
@ -50,6 +50,13 @@ const FUNDED_TEST_PRIVATE_KEY* =
|
||||
# dead time when polling for transaction receipts.
|
||||
const FastRetryStrategy = RetryStrategy(retryDelay: 100.millis, retryCount: 15)
|
||||
|
||||
proc withFastRetries*(m: OnchainGroupManager): OnchainGroupManager =
|
||||
## Applies test retry pacing to a manager built outside these helpers, such as
|
||||
## the node-internal manager created during RLN mount. register() reads the
|
||||
## strategy at call time, so setting it after init() is effective.
|
||||
m.retryStrategy = FastRetryStrategy
|
||||
return m
|
||||
|
||||
proc generateCredentials*(): IdentityCredential =
|
||||
let credRes = membershipKeyGen()
|
||||
return credRes.get()
|
||||
|
||||
@ -264,7 +264,7 @@ suite "Waku v2 Rest API - Relay":
|
||||
await node.setRlnValidator(wakuRlnConfig)
|
||||
await node.start()
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager)
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager).withFastRetries()
|
||||
let idCredentials = generateCredentials()
|
||||
|
||||
(waitFor manager.register(idCredentials, UserMessageLimit(20))).isOkOr:
|
||||
@ -535,7 +535,7 @@ suite "Waku v2 Rest API - Relay":
|
||||
await node.connectToNodes(@[meshNode.peerInfo.toRemotePeerInfo()])
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager)
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager).withFastRetries()
|
||||
let idCredentials = generateCredentials()
|
||||
|
||||
(waitFor manager.register(idCredentials, UserMessageLimit(20))).isOkOr:
|
||||
@ -604,7 +604,7 @@ suite "Waku v2 Rest API - Relay":
|
||||
await node.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager)
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager).withFastRetries()
|
||||
let idCredentials = generateCredentials()
|
||||
|
||||
(waitFor manager.register(idCredentials, UserMessageLimit(20))).isOkOr:
|
||||
@ -663,7 +663,7 @@ suite "Waku v2 Rest API - Relay":
|
||||
await node.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager)
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager).withFastRetries()
|
||||
let idCredentials = generateCredentials()
|
||||
|
||||
(waitFor manager.register(idCredentials, UserMessageLimit(20))).isOkOr:
|
||||
@ -735,7 +735,7 @@ suite "Waku v2 Rest API - Relay":
|
||||
await node.start()
|
||||
|
||||
# Registration is mandatory before sending messages with rln-relay
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager)
|
||||
let manager = cast[OnchainGroupManager](node.rln.groupManager).withFastRetries()
|
||||
let idCredentials = generateCredentials()
|
||||
|
||||
(waitFor manager.register(idCredentials, UserMessageLimit(20))).isOkOr:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user