test: fix flaky webhook dispatch pagination test#843
Open
vdusek wants to merge 1 commit into
Open
Conversation
The offset assertion compared two desc-ordered pages; dispatches created by parallel tests shifted the window between calls, making both pages start with the same id. Query in ascending order so the window is anchored to the stable oldest dispatches.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #843 +/- ##
=======================================
Coverage 83.52% 83.52%
=======================================
Files 48 48
Lines 5045 5045
=======================================
Hits 4214 4214
Misses 831 831
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
What & why
test_webhook_dispatch_list_paginationwas flaky on CI (failing run).The offset check fetched two
desc=True(newest-first) pages and asserted they start with different ids. But webhook dispatches created by other tests running in parallel land at the head of the desc-ordered list, shifting the window between the two calls. When ≥5 new dispatches appeared between the calls, page 1's first item slid to offset 5 — so both pages started with the same id and the assertion failed.Fix
Query the offset window in ascending order (
desc=False) so it's anchored to the oldest dispatches. New dispatches append at the tail, leaving the front window stable, and the global-oldest item can never reach offset 5. This is race-free while still exercising theoffsetparameter. Thedesc=Trueordering assertion is kept unchanged.