From: Ruben ten Hove Date: Wed, 6 Jul 2022 17:07:02 +0000 (-0400) Subject: test source existence; actually fix tests X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=69dd5790cf3c3140c88a4bc3a641447d77f6528f;p=stevenblack-hosts.git test source existence; actually fix tests --- diff --git a/testUpdateHostsFile.py b/testUpdateHostsFile.py index f1cf8b7b5..182122be8 100644 --- a/testUpdateHostsFile.py +++ b/testUpdateHostsFile.py @@ -1264,17 +1264,17 @@ class TestUpdateReadmeData(BaseMockDir): class TestMoveHostsFile(BaseStdout): @mock.patch("os.path.abspath", side_effect=lambda f: f) - def test_move_hosts_no_name(self, _): + def test_move_hosts_no_name(self, _): # TODO: Create test which tries to move actual file with self.mock_property("platform.system") as obj: obj.return_value = "foo" mock_file = mock.Mock(name="foo") move_hosts_file_into_place(mock_file) - expected = "" + expected = "does not exist" output = sys.stdout.getvalue() - self.assertEqual(output, expected) + self.assertIn(expected, output) @mock.patch("os.path.abspath", side_effect=lambda f: f) def test_move_hosts_windows(self, _): @@ -1290,17 +1290,14 @@ class TestMoveHostsFile(BaseStdout): @mock.patch("os.path.abspath", side_effect=lambda f: f) @mock.patch("subprocess.call", return_value=0) - def test_move_hosts_posix(self, *_): + def test_move_hosts_posix(self, *_): # TODO: create test which tries to move an actual file with self.mock_property("platform.system") as obj: obj.return_value = "Linux" mock_file = mock.Mock(name="foo") move_hosts_file_into_place(mock_file) - expected = ( - "Moving the file requires administrative " - "privileges. You might need to enter your password." - ) + expected = "does not exist." output = sys.stdout.getvalue() self.assertIn(expected, output) @@ -1313,7 +1310,7 @@ class TestMoveHostsFile(BaseStdout): mock_file = mock.Mock(name="foo") move_hosts_file_into_place(mock_file) - expected = "Moving the file failed." + expected = "does not exist." output = sys.stdout.getvalue() self.assertIn(expected, output) diff --git a/updateHostsFile.py b/updateHostsFile.py index ba9b9b45d..45a008a05 100755 --- a/updateHostsFile.py +++ b/updateHostsFile.py @@ -1281,6 +1281,14 @@ def move_hosts_file_into_place(final_file): """ # noqa: W605 filename = os.path.abspath(final_file.name) + + try: + if not Path(filename).exists(): + raise FileNotFoundError + except Exception: + print_failure(f"{filename} does not exist.") + return False + if platform.system() == "Windows": target_file = str(Path(os.getenv("SystemRoot")) / "system32" / "drivers" / "etc" / "hosts") else: