@@ -392,6 +392,30 @@ def test_default_query_option(self) -> None:
392392
393393 client .close ()
394394
395+ def test_hardcoded_query_params_in_url (self , client : Steel ) -> None :
396+ request = client ._build_request (FinalRequestOptions (method = "get" , url = "/foo?beta=true" ))
397+ url = httpx .URL (request .url )
398+ assert dict (url .params ) == {"beta" : "true" }
399+
400+ request = client ._build_request (
401+ FinalRequestOptions (
402+ method = "get" ,
403+ url = "/foo?beta=true" ,
404+ params = {"limit" : "10" , "page" : "abc" },
405+ )
406+ )
407+ url = httpx .URL (request .url )
408+ assert dict (url .params ) == {"beta" : "true" , "limit" : "10" , "page" : "abc" }
409+
410+ request = client ._build_request (
411+ FinalRequestOptions (
412+ method = "get" ,
413+ url = "/files/a%2Fb?beta=true" ,
414+ params = {"limit" : "10" },
415+ )
416+ )
417+ assert request .url .raw_path == b"/files/a%2Fb?beta=true&limit=10"
418+
395419 def test_request_extra_json (self , client : Steel ) -> None :
396420 request = client ._build_request (
397421 FinalRequestOptions (
@@ -1241,6 +1265,30 @@ async def test_default_query_option(self) -> None:
12411265
12421266 await client .close ()
12431267
1268+ async def test_hardcoded_query_params_in_url (self , async_client : AsyncSteel ) -> None :
1269+ request = async_client ._build_request (FinalRequestOptions (method = "get" , url = "/foo?beta=true" ))
1270+ url = httpx .URL (request .url )
1271+ assert dict (url .params ) == {"beta" : "true" }
1272+
1273+ request = async_client ._build_request (
1274+ FinalRequestOptions (
1275+ method = "get" ,
1276+ url = "/foo?beta=true" ,
1277+ params = {"limit" : "10" , "page" : "abc" },
1278+ )
1279+ )
1280+ url = httpx .URL (request .url )
1281+ assert dict (url .params ) == {"beta" : "true" , "limit" : "10" , "page" : "abc" }
1282+
1283+ request = async_client ._build_request (
1284+ FinalRequestOptions (
1285+ method = "get" ,
1286+ url = "/files/a%2Fb?beta=true" ,
1287+ params = {"limit" : "10" },
1288+ )
1289+ )
1290+ assert request .url .raw_path == b"/files/a%2Fb?beta=true&limit=10"
1291+
12441292 def test_request_extra_json (self , client : Steel ) -> None :
12451293 request = client ._build_request (
12461294 FinalRequestOptions (
0 commit comments