test: check if destination exists

This commit is contained in:
Lukáš Kucharczyk 2021-06-25 21:37:16 +02:00
parent afd46ee7d2
commit 6095290195
No known key found for this signature in database
GPG Key ID: 65524498C0196B64
2 changed files with 25 additions and 1 deletions

View File

@ -3,6 +3,7 @@ Manga checker and downloader
"""
import argparse
import os
if __name__ == '__main__':
parser = argparse.ArgumentParser(
@ -19,3 +20,10 @@ if __name__ == '__main__':
)
args = parser.parse_args()
destination = os.path.abspath(args.destination)
if not os.path.exists(destination):
print(f'Destination {destination} does not exist.')
if not os.path.isdir(destination):
print(f'Destination {destination} is not a directory.')

View File

@ -1,13 +1,29 @@
from subprocess import CalledProcessError
import unittest
import subprocess
import os
class ArgumentTestClass(unittest.TestCase):
def setUp(self):
import tempfile
self.existing_dir = tempfile.mkdtemp()
def test_argument_required(self):
with self.assertRaises(CalledProcessError):
subprocess.check_output(['python', 'manga_up'])
def test_destination_exists(self):
result = subprocess.check_output(['python', 'manga_up', '--destination', 'nonexistent'])
self.assertIn('does not exist', str(result))
def test_destination_is_not_directory(self):
result = subprocess.check_output(['python', 'manga_up', '--destination', self.existing_file])
self.assertIn('not a directory', str(result))
def tearDown(self) -> None:
os.rmdir(self.existing_dir)
if __name__ == '__main__':
unittest.main()