mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-08-04 02:43:36 +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
8a6e987a95
commit
c23e9aee27
@ -137,7 +137,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:
|
||||
|
||||
@ -135,7 +135,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:
|
||||
|
||||
@ -231,7 +231,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:
|
||||
@ -287,7 +287,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:
|
||||
@ -336,7 +336,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:
|
||||
@ -349,7 +350,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:
|
||||
|
||||
@ -58,7 +58,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:
|
||||
@ -81,7 +81,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
|
||||
|
||||
@ -99,7 +99,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
|
||||
|
||||
@ -169,7 +169,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:
|
||||
@ -186,7 +186,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:
|
||||
@ -203,7 +203,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:
|
||||
@ -320,7 +320,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:
|
||||
@ -341,7 +341,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:
|
||||
@ -357,7 +357,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
|
||||
|
||||
@ -432,7 +432,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:
|
||||
@ -455,7 +455,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:
|
||||
@ -473,7 +473,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
|
||||
|
||||
@ -601,7 +601,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:
|
||||
@ -620,7 +620,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()
|
||||
|
||||
@ -265,7 +265,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:
|
||||
@ -536,7 +536,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:
|
||||
@ -605,7 +605,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:
|
||||
@ -664,7 +664,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:
|
||||
@ -736,7 +736,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