fix(api): Validate per_page
lower bound
#83075
Merged
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.
In our base endpoint class, we check the incoming
per_page
parameter against an upper bound, but we don't currently check it against a lower bound... until we go to actually use it, at which point we error out with a generic 500 response (rather than the more helpful and explanatory 400 generated byper_page
values which are too high).This fixes that by checking the lower bound alongside the upper bound.
Note: The changes in
test_base.py
look bigger than they are. Really the only new thing is thetest_per_page_too_low
test. The rest is just a) giving theper_page
tests more specific names, and b) moving the invalid cursor test so all of theper_page
tests are together.