66import httpx
77import pytest
88from pydantic import ValidationError
9+ from pydantic_core import to_json
910
1011from pdfrest import AsyncPdfRestClient , PdfRestClient
1112from pdfrest .models import PdfRestFileBasedResponse , PdfRestFileID
@@ -56,7 +57,7 @@ def _serialize_text_object_for_request(
5657 # Add-text payloads now quote non-string values inside the text_objects JSON.
5758 for key , value in list (serialized .items ()):
5859 if not isinstance (value , str ):
59- serialized [key ] = json . dumps (value , separators = ( "," , ":" ) )
60+ serialized [key ] = to_json (value ). decode ( )
6061 return serialized
6162
6263
@@ -73,13 +74,15 @@ def handler(request: httpx.Request) -> httpx.Response:
7374 payload = json .loads (request .content .decode ("utf-8" ))
7475 assert payload ["id" ] == str (pdf_file .id )
7576 assert payload ["output" ] == "with-text"
76- assert payload ["text_objects" ] == json .dumps (
77- [
78- _serialize_text_object_for_request (
79- make_text_object (is_right_to_left = True )
80- )
81- ],
82- separators = ("," , ":" ),
77+ assert (
78+ payload ["text_objects" ]
79+ == to_json (
80+ [
81+ _serialize_text_object_for_request (
82+ make_text_object (is_right_to_left = True )
83+ )
84+ ]
85+ ).decode ()
8386 )
8487 return httpx .Response (
8588 200 ,
@@ -132,9 +135,11 @@ def handler(request: httpx.Request) -> httpx.Response:
132135 assert request .headers ["X-Debug" ] == "1"
133136 payload = json .loads (request .content .decode ("utf-8" ))
134137 assert payload ["rotation" ] == 15
135- assert payload ["text_objects" ] == json .dumps (
136- [_serialize_text_object_for_request (overridden_text_object )],
137- separators = ("," , ":" ),
138+ assert (
139+ payload ["text_objects" ]
140+ == to_json (
141+ [_serialize_text_object_for_request (overridden_text_object )],
142+ ).decode ()
138143 )
139144 captured_timeout ["value" ] = request .extensions .get ("timeout" )
140145 return httpx .Response (
@@ -167,10 +172,9 @@ def handler(request: httpx.Request) -> httpx.Response:
167172 extra_headers = {"X-Debug" : "1" },
168173 extra_body = {
169174 "rotation" : 15 ,
170- "text_objects" : json . dumps (
175+ "text_objects" : to_json (
171176 [_serialize_text_object_for_request (overridden_text_object )],
172- separators = ("," , ":" ),
173- ),
177+ ).decode (),
174178 },
175179 timeout = 0.25 ,
176180 )
@@ -288,13 +292,15 @@ def handler(request: httpx.Request) -> httpx.Response:
288292 seen ["post" ] += 1
289293 payload = json .loads (request .content .decode ("utf-8" ))
290294 assert payload ["id" ] == str (pdf_file .id )
291- assert payload ["text_objects" ] == json .dumps (
292- [
293- _serialize_text_object_for_request (
294- make_text_object (page = "all" , is_right_to_left = True )
295- )
296- ],
297- separators = ("," , ":" ),
295+ assert (
296+ payload ["text_objects" ]
297+ == to_json (
298+ [
299+ _serialize_text_object_for_request (
300+ make_text_object (page = "all" , is_right_to_left = True )
301+ )
302+ ]
303+ ).decode ()
298304 )
299305 return httpx .Response (
300306 200 ,
@@ -343,9 +349,11 @@ def handler(request: httpx.Request) -> httpx.Response:
343349 assert request .headers ["X-Test" ] == "async"
344350 payload = json .loads (request .content .decode ("utf-8" ))
345351 assert payload ["text_size" ] == 18
346- assert payload ["text_objects" ] == json .dumps (
347- [_serialize_text_object_for_request (overridden_text_object )],
348- separators = ("," , ":" ),
352+ assert (
353+ payload ["text_objects" ]
354+ == to_json (
355+ [_serialize_text_object_for_request (overridden_text_object )],
356+ ).decode ()
349357 )
350358 captured_timeout ["value" ] = request .extensions .get ("timeout" )
351359 return httpx .Response (
@@ -378,10 +386,9 @@ def handler(request: httpx.Request) -> httpx.Response:
378386 extra_headers = {"X-Test" : "async" },
379387 extra_body = {
380388 "text_size" : 18 ,
381- "text_objects" : json . dumps (
389+ "text_objects" : to_json (
382390 [_serialize_text_object_for_request (overridden_text_object )],
383- separators = ("," , ":" ),
384- ),
391+ ).decode (),
385392 },
386393 timeout = 1.0 ,
387394 )
0 commit comments