mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
fix: assert offset and per_page are positive
Signed-off-by: Leonidas Spyropoulos <artafinde@archlinux.org>
This commit is contained in:
parent
f6c4891415
commit
4d0a982c51
3 changed files with 19 additions and 4 deletions
|
@ -48,7 +48,7 @@ async def requests(
|
||||||
if not dict(request.query_params).keys() & FILTER_PARAMS:
|
if not dict(request.query_params).keys() & FILTER_PARAMS:
|
||||||
filter_pending = True
|
filter_pending = True
|
||||||
|
|
||||||
O, PP = util.sanitize_params(O, PP)
|
O, PP = util.sanitize_params(str(O), str(PP))
|
||||||
context["O"] = O
|
context["O"] = O
|
||||||
context["PP"] = PP
|
context["PP"] = PP
|
||||||
context["filter_pending"] = filter_pending
|
context["filter_pending"] = filter_pending
|
||||||
|
|
|
@ -96,14 +96,14 @@ def apply_all(iterable: Iterable, fn: Callable):
|
||||||
return iterable
|
return iterable
|
||||||
|
|
||||||
|
|
||||||
def sanitize_params(offset: str, per_page: str) -> Tuple[int, int]:
|
def sanitize_params(offset_str: str, per_page_str: str) -> Tuple[int, int]:
|
||||||
try:
|
try:
|
||||||
offset = int(offset)
|
offset = defaults.O if int(offset_str) < 0 else int(offset_str)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
offset = defaults.O
|
offset = defaults.O
|
||||||
|
|
||||||
try:
|
try:
|
||||||
per_page = int(per_page)
|
per_page = defaults.PP if int(per_page_str) < 0 else int(per_page_str)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
per_page = defaults.PP
|
per_page = defaults.PP
|
||||||
|
|
||||||
|
|
|
@ -121,6 +121,21 @@ fRSo6OFcejKc=
|
||||||
assert_multiple_keys(pks)
|
assert_multiple_keys(pks)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"offset_str, per_page_str, expected",
|
||||||
|
[
|
||||||
|
("5", "100", (5, 100)),
|
||||||
|
("", "100", (0, 100)),
|
||||||
|
("5", "", (5, 50)),
|
||||||
|
("", "", (0, 50)),
|
||||||
|
("-1", "100", (0, 100)),
|
||||||
|
("5", "-100", (5, 50)),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_sanitize_params(offset_str: str, per_page_str: str, expected: tuple[int, int]):
|
||||||
|
assert util.sanitize_params(offset_str, per_page_str) == expected
|
||||||
|
|
||||||
|
|
||||||
def assert_multiple_keys(pks):
|
def assert_multiple_keys(pks):
|
||||||
keys = util.parse_ssh_keys(pks)
|
keys = util.parse_ssh_keys(pks)
|
||||||
assert len(keys) == 2
|
assert len(keys) == 2
|
||||||
|
|
Loading…
Add table
Reference in a new issue