import pytest
import httpx
-from httpx._content import encode_json
method = "POST"
url = "https://www.example.com"
def test_ensure_ascii_false_with_french_characters():
data = {"greeting": "Bonjour, ça va ?"}
- headers, byte_stream = encode_json(data)
- json_output = b"".join(byte_stream).decode("utf-8")
-
+ response = httpx.Response(200, json=data)
assert (
- "ça va" in json_output
+ "ça va" in response.text
), "ensure_ascii=False should preserve French accented characters"
- assert headers["Content-Type"] == "application/json"
+ assert response.headers["Content-Type"] == "application/json"
def test_separators_for_compact_json():
data = {"clé": "valeur", "liste": [1, 2, 3]}
- headers, byte_stream = encode_json(data)
- json_output = b"".join(byte_stream).decode("utf-8")
-
+ response = httpx.Response(200, json=data)
assert (
- json_output == '{"clé":"valeur","liste":[1,2,3]}'
+ response.text == '{"clé":"valeur","liste":[1,2,3]}'
), "separators=(',', ':') should produce a compact representation"
- assert headers["Content-Type"] == "application/json"
+ assert response.headers["Content-Type"] == "application/json"
def test_allow_nan_false():
with pytest.raises(
ValueError, match="Out of range float values are not JSON compliant"
):
- encode_json(data_with_nan)
+ httpx.Response(200, json=data_with_nan)
with pytest.raises(
ValueError, match="Out of range float values are not JSON compliant"
):
- encode_json(data_with_inf)
+ httpx.Response(200, json=data_with_inf)