Improved the readability of the tests.

This commit is contained in:
FemtosecondLaser 2021-10-23 13:12:49 +01:00 committed by Victor Shyba
parent 25092f56be
commit a7af877e9e

View file

@ -207,22 +207,25 @@ class DaemonDocsTests(TestCase):
class EnsureDirectoryExistsTests(TestCase): class EnsureDirectoryExistsTests(TestCase):
def setUp(self):
self.temp_dir = tempfile.mkdtemp()
def tearDown(self):
shutil.rmtree(self.temp_dir)
def test_when_parent_dir_does_not_exist_then_dir_is_created_with_parent(self): def test_when_parent_dir_does_not_exist_then_dir_is_created_with_parent(self):
with tempfile.TemporaryDirectory() as temp_dir: dir_path = os.path.join(self.temp_dir, "parent_dir", "dir")
dir_path = os.path.join(temp_dir, "parent_dir", "dir")
ensure_directory_exists(dir_path) ensure_directory_exists(dir_path)
self.assertTrue(os.path.exists(dir_path)) self.assertTrue(os.path.exists(dir_path))
def test_when_non_writable_dir_exists_then_raise(self): def test_when_non_writable_dir_exists_then_raise(self):
with tempfile.TemporaryDirectory() as temp_dir: dir_path = os.path.join(self.temp_dir, "dir")
dir_path = os.path.join(temp_dir, "dir")
pathlib.Path(dir_path).mkdir(mode=0o555) # creates a non-writable, readable and executable dir pathlib.Path(dir_path).mkdir(mode=0o555) # creates a non-writable, readable and executable dir
with self.assertRaises(PermissionError): with self.assertRaises(PermissionError):
ensure_directory_exists(dir_path) ensure_directory_exists(dir_path)
def test_when_dir_exists_and_writable_then_no_raise(self): def test_when_dir_exists_and_writable_then_no_raise(self):
with tempfile.TemporaryDirectory() as temp_dir: dir_path = os.path.join(self.temp_dir, "dir")
dir_path = os.path.join(temp_dir, "dir")
pathlib.Path(dir_path).mkdir(mode=0o777) # creates a writable, readable and executable dir pathlib.Path(dir_path).mkdir(mode=0o777) # creates a writable, readable and executable dir
try: try:
ensure_directory_exists(dir_path) ensure_directory_exists(dir_path)
@ -230,9 +233,7 @@ class EnsureDirectoryExistsTests(TestCase):
self.fail(f"{type(err).__name__} was raised") self.fail(f"{type(err).__name__} was raised")
def test_when_non_dir_file_exists_at_path_then_raise(self): def test_when_non_dir_file_exists_at_path_then_raise(self):
with tempfile.TemporaryDirectory() as temp_dir: file_path = os.path.join(self.temp_dir, "file.extension")
file_path = os.path.join(temp_dir, "file.extension") pathlib.Path(file_path).touch()
with open(file_path, 'x'):
pass
with self.assertRaises(FileExistsError): with self.assertRaises(FileExistsError):
ensure_directory_exists(file_path) ensure_directory_exists(file_path)