@@ -438,6 +438,30 @@ def test_default_query_option(self) -> None:
438438
439439 client .close ()
440440
441+ def test_hardcoded_query_params_in_url (self , client : Runloop ) -> None :
442+ request = client ._build_request (FinalRequestOptions (method = "get" , url = "/foo?beta=true" ))
443+ url = httpx .URL (request .url )
444+ assert dict (url .params ) == {"beta" : "true" }
445+
446+ request = client ._build_request (
447+ FinalRequestOptions (
448+ method = "get" ,
449+ url = "/foo?beta=true" ,
450+ params = {"limit" : "10" , "page" : "abc" },
451+ )
452+ )
453+ url = httpx .URL (request .url )
454+ assert dict (url .params ) == {"beta" : "true" , "limit" : "10" , "page" : "abc" }
455+
456+ request = client ._build_request (
457+ FinalRequestOptions (
458+ method = "get" ,
459+ url = "/files/a%2Fb?beta=true" ,
460+ params = {"limit" : "10" },
461+ )
462+ )
463+ assert request .url .raw_path == b"/files/a%2Fb?beta=true&limit=10"
464+
441465 def test_request_extra_json (self , client : Runloop ) -> None :
442466 request = client ._build_request (
443467 FinalRequestOptions (
@@ -1384,6 +1408,30 @@ async def test_default_query_option(self) -> None:
13841408
13851409 await client .close ()
13861410
1411+ async def test_hardcoded_query_params_in_url (self , async_client : AsyncRunloop ) -> None :
1412+ request = async_client ._build_request (FinalRequestOptions (method = "get" , url = "/foo?beta=true" ))
1413+ url = httpx .URL (request .url )
1414+ assert dict (url .params ) == {"beta" : "true" }
1415+
1416+ request = async_client ._build_request (
1417+ FinalRequestOptions (
1418+ method = "get" ,
1419+ url = "/foo?beta=true" ,
1420+ params = {"limit" : "10" , "page" : "abc" },
1421+ )
1422+ )
1423+ url = httpx .URL (request .url )
1424+ assert dict (url .params ) == {"beta" : "true" , "limit" : "10" , "page" : "abc" }
1425+
1426+ request = async_client ._build_request (
1427+ FinalRequestOptions (
1428+ method = "get" ,
1429+ url = "/files/a%2Fb?beta=true" ,
1430+ params = {"limit" : "10" },
1431+ )
1432+ )
1433+ assert request .url .raw_path == b"/files/a%2Fb?beta=true&limit=10"
1434+
13871435 def test_request_extra_json (self , client : Runloop ) -> None :
13881436 request = client ._build_request (
13891437 FinalRequestOptions (
0 commit comments