Raise TypeError on invalid query params. (#2523)
* Raise TypeError on invalid query params * Fix TypeError * Update tests/models/test_queryparams.py Co-authored-by: Michael Adkins <contact@zanie.dev> * Linting * Fix exception check Co-authored-by: Michael Adkins <contact@zanie.dev>
This commit is contained in:
parent
10a3b68a71
commit
4cbf13ece2
@ -67,7 +67,11 @@ def primitive_value_to_str(value: "PrimitiveData") -> str:
|
||||
return "false"
|
||||
elif value is None:
|
||||
return ""
|
||||
return str(value)
|
||||
elif isinstance(value, (str, float, int)):
|
||||
return str(value)
|
||||
raise TypeError(
|
||||
f"Expected str, int, float, bool, or None. Got {type(value).__name__!r}."
|
||||
)
|
||||
|
||||
|
||||
def is_known_encoding(encoding: str) -> bool:
|
||||
|
||||
@ -87,6 +87,13 @@ def test_empty_query_params():
|
||||
assert str(q) == "a="
|
||||
|
||||
|
||||
def test_invalid_query_params():
|
||||
with pytest.raises(
|
||||
TypeError, match=r"Expected str, int, float, bool, or None. Got 'bytes'."
|
||||
):
|
||||
httpx.QueryParams({"a": b"bytes"})
|
||||
|
||||
|
||||
def test_queryparam_update_is_hard_deprecated():
|
||||
q = httpx.QueryParams("a=123")
|
||||
with pytest.raises(RuntimeError):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user