feat: add configurable webhook latency simulation to mock provider server#1145
Open
MJ-RWA wants to merge 1 commit into
Open
feat: add configurable webhook latency simulation to mock provider server#1145MJ-RWA wants to merge 1 commit into
MJ-RWA wants to merge 1 commit into
Conversation
|
@MJ-RWA Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes Made
Added src/config/mockServer.ts with webhookLatencyMs (default 3000ms) and webhookLatencyEnabled (default true) config values driven by environment variables
Added a delay helper in scripts/provider-mock-server.ts that returns a Promise via setTimeout
Wrapped all webhook callback dispatch points with the configurable delay before firing
Added MOCK_WEBHOOK_LATENCY_MS and MOCK_WEBHOOK_LATENCY_ENABLED to .env.example with explanatory comments
Updated integration tests in tests/integration/ to accommodate delayed callbacks — increased jest timeouts to 15000ms and added a waitForWebhook polling helper where needed
Testing
Ran integration tests with MOCK_WEBHOOK_LATENCY_ENABLED=true and MOCK_WEBHOOK_LATENCY_MS=3000 — callbacks arrived after ~3 seconds and tests passed
Set MOCK_WEBHOOK_LATENCY_ENABLED=false — callbacks fired instantly, confirming the flag works correctly
Set MOCK_WEBHOOK_LATENCY_MS=5000 — confirmed delay is respected and configurable without code changes
Ran full test suite — no regressions
Closes: #860