@@ -255,6 +255,15 @@ def test_fetch_from_public_url_non_json_file_type(self):
255255 result = loader ._fetch_from_public_url (source = "https://example.com/data.csv" , file_type = "csv" )
256256 assert result == [{"header1" : "value1" , "header2" : "value2" }]
257257
258+ def test_fetch_from_public_url_passes_request_timeout (self ):
259+ loader = ConcreteRemoteLoader ()
260+ mock_response = MagicMock ()
261+ mock_response .status_code = 200
262+ mock_response .text = '[{"key": "value"}]'
263+ with patch ("requests.get" , return_value = mock_response ) as mock_get :
264+ loader ._fetch_from_public_url (source = "https://example.com/data.json" , file_type = "json" )
265+ assert mock_get .call_args .kwargs ["timeout" ] == loader .REQUEST_TIMEOUT_SECONDS
266+
258267 def test_fetch_from_public_url_invalid_file_type_raises (self ):
259268 loader = ConcreteRemoteLoader ()
260269 mock_response = MagicMock ()
@@ -318,6 +327,23 @@ async def test_parses_multiple_inner_files(self, tmp_path, monkeypatch):
318327 assert result ["folder/a.jsonl" ] == [{"a" : 1 }, {"a" : 2 }]
319328 assert result ["folder/b.jsonl" ] == [{"b" : 3 }]
320329
330+ async def test_zip_download_passes_request_timeout (self , tmp_path , monkeypatch ):
331+ monkeypatch .setattr (
332+ "pyrit.datasets.seed_datasets.remote.remote_dataset_loader.DB_DATA_PATH" ,
333+ tmp_path ,
334+ )
335+ zip_bytes = self ._make_zip_bytes ({"x.json" : '[{"k": "v"}]' })
336+
337+ mock_get = MagicMock (return_value = self ._mock_streaming_response (zip_bytes ))
338+ with patch (
339+ "pyrit.datasets.seed_datasets.remote.remote_dataset_loader.requests.get" ,
340+ mock_get ,
341+ ):
342+ loader = ConcreteRemoteLoader ()
343+ await loader ._fetch_zip_from_url_async (source = self .SOURCE , inner_files = ["x.json" ], cache = False )
344+
345+ assert mock_get .call_args .kwargs ["timeout" ] == loader .REQUEST_TIMEOUT_SECONDS
346+
321347 async def test_caches_zip_on_disk (self , tmp_path , monkeypatch ):
322348 monkeypatch .setattr (
323349 "pyrit.datasets.seed_datasets.remote.remote_dataset_loader.DB_DATA_PATH" ,
0 commit comments