From 27376c3f3ec667fd83c3603652f11d4125b90e5c Mon Sep 17 00:00:00 2001 From: Cody Logan Date: Mon, 30 Oct 2023 13:48:03 -0700 Subject: Check for existing files earlier to avoid unnecessary API calls --- tests/test_dl.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/test_dl.py b/tests/test_dl.py index 5c962f9..69ff2bb 100644 --- a/tests/test_dl.py +++ b/tests/test_dl.py @@ -15,6 +15,8 @@ # You should have received a copy of the GNU General Public License # along with Wikiget. If not, see . +from pathlib import Path + import pytest from wikiget.dl import prep_download @@ -22,9 +24,23 @@ from wikiget.wikiget import construct_parser # TODO: don't hit the actual API when doing tests -@pytest.mark.skip(reason="skip tests that query a live API") class TestPrepDownload: + @pytest.mark.skip(reason="skip tests that query a live API") def test_prep_download(self) -> None: + """ + The prep_download function should create a file object. + """ args = construct_parser().parse_args(["File:Example.jpg"]) file = prep_download(args.FILE, args) assert file is not None + + def test_prep_download_with_existing_file(self, tmp_path: Path) -> None: + """ + Attempting to download a file with the same destination name as an existing file + should raise a FileExistsError. + """ + tmp_file = tmp_path / "File:Example.jpg" + tmp_file.write_text("nothing") + args = construct_parser().parse_args(["File:Example.jpg", "-o", str(tmp_file)]) + with pytest.raises(FileExistsError): + _ = prep_download(args.FILE, args) -- cgit v1.2.3