@@ -608,15 +608,14 @@ def test_delete(server) -> None:
608608 server .datasources .delete ("9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" )
609609
610610
611- def test_download (server ) -> None :
611+ def test_download (server , tmp_path ) -> None :
612612 with requests_mock .mock () as m :
613613 m .get (
614614 server .datasources .baseurl + "/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb/content" ,
615615 headers = {"Content-Disposition" : 'name="tableau_datasource"; filename="Sample datasource.tds"' },
616616 )
617- file_path = server .datasources .download ("9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" )
617+ file_path = server .datasources .download ("9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" , filepath = tmp_path )
618618 assert os .path .exists (file_path )
619- os .remove (file_path )
620619
621620
622621def test_download_object (server ) -> None :
@@ -630,21 +629,20 @@ def test_download_object(server) -> None:
630629 assert isinstance (file_path , BytesIO )
631630
632631
633- def test_download_sanitizes_name (server ) -> None :
632+ def test_download_sanitizes_name (server , tmp_path ) -> None :
634633 filename = "Name,With,Commas.tds"
635634 disposition = f'name="tableau_workbook"; filename="{ filename } "'
636635 with requests_mock .mock () as m :
637636 m .get (
638637 server .datasources .baseurl + "/1f951daf-4061-451a-9df1-69a8062664f2/content" ,
639638 headers = {"Content-Disposition" : disposition },
640639 )
641- file_path = server .datasources .download ("1f951daf-4061-451a-9df1-69a8062664f2" )
640+ file_path = server .datasources .download ("1f951daf-4061-451a-9df1-69a8062664f2" , filepath = tmp_path )
642641 assert os .path .basename (file_path ) == "NameWithCommas.tds"
643642 assert os .path .exists (file_path )
644- os .remove (file_path )
645643
646644
647- def test_download_extract_only (server ) -> None :
645+ def test_download_extract_only (server , tmp_path ) -> None :
648646 # Pretend we're 2.5 for 'extract_only'
649647 server .version = "2.5"
650648
@@ -654,12 +652,13 @@ def test_download_extract_only(server) -> None:
654652 headers = {"Content-Disposition" : 'name="tableau_datasource"; filename="Sample datasource.tds"' },
655653 complete_qs = True ,
656654 )
657- file_path = server .datasources .download ("9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" , include_extract = False )
655+ file_path = server .datasources .download (
656+ "9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" , include_extract = False , filepath = tmp_path
657+ )
658658 assert os .path .exists (file_path )
659- os .remove (file_path )
660659
661660
662- def test_download_no_extract_emits_deprecation_warning (server ) -> None :
661+ def test_download_no_extract_emits_deprecation_warning (server , tmp_path ) -> None :
663662 """no_extract=True should emit a DeprecationWarning and map to includeExtract=False."""
664663 server .version = "2.5"
665664
@@ -670,9 +669,10 @@ def test_download_no_extract_emits_deprecation_warning(server) -> None:
670669 complete_qs = True ,
671670 )
672671 with pytest .warns (DeprecationWarning , match = "deprecated and will be removed" ):
673- file_path = server .datasources .download ("9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" , no_extract = True )
672+ file_path = server .datasources .download (
673+ "9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" , no_extract = True , filepath = tmp_path
674+ )
674675 assert os .path .exists (file_path )
675- os .remove (file_path )
676676
677677
678678def test_update_missing_id (server ) -> None :
0 commit comments