From dfa7bddf96db2d6f3b75d1af9cdacfea18b438d3 Mon Sep 17 00:00:00 2001 From: The Magician Date: Fri, 20 Oct 2023 18:40:40 +0100 Subject: [PATCH] Take local directory name as cli argument --- jardin.py | 5 +++-- test_jardin.py | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/jardin.py b/jardin.py index 4754a7d..cce8248 100755 --- a/jardin.py +++ b/jardin.py @@ -51,15 +51,16 @@ def get_garden_filenames(browser): def get_local_filenames(directory): return os.listdir(directory) -def main(email, password): +def main(email, password, directory): browser = initialize_webdriver() navigate_to_filegarden(browser) login_with_password(browser, email, password) click_go_to_your_garden(browser) garden_filenames = get_garden_filenames(browser) + get_local_filenames(directory) # Get list of files in target upload directory that don't exist in File Garden (test based on filename? size? file contents?) # For each file in the second list, go through the file upload process #browser.close() if __name__ == "__main__": - main(sys.argv[1], sys.argv[2]) + main(sys.argv[1], sys.argv[2], sys.argv[3]) diff --git a/test_jardin.py b/test_jardin.py index c7d260b..63052a8 100755 --- a/test_jardin.py +++ b/test_jardin.py @@ -130,7 +130,9 @@ class TestJardin(unittest.TestCase): @patch("jardin.login_with_password") @patch("jardin.click_go_to_your_garden") @patch("jardin.get_garden_filenames") + @patch("jardin.get_local_filenames") def test_main_calls_methods_in_correct_order(self, + mockGetLocalFilenames, mockGetGardenFilenames, mockClickGoToYourGarden, mockLoginWithPassword, @@ -138,14 +140,16 @@ class TestJardin(unittest.TestCase): mockInitializeWebdriver): mockEmail = "email@mail.com" mockPassword = "p4$$w0rd" + mockDirectory = "/home/luser/gardenfiles/" - jardin.main(mockEmail, mockPassword) + jardin.main(mockEmail, mockPassword, mockDirectory) mockInitializeWebdriver.assert_called_once() mockNavigateToFilegarden.assert_called_once_with(mockInitializeWebdriver.return_value) mockLoginWithPassword.assert_called_once_with(mockInitializeWebdriver.return_value, mockEmail, mockPassword) mockClickGoToYourGarden.assert_called_once_with(mockInitializeWebdriver.return_value) mockGetGardenFilenames.assert_called_once_with(mockInitializeWebdriver.return_value) + mockGetLocalFilenames.assert_called_once_with(mockDirectory) #mockInitializeWebdriver.return_value.close.assert_called_once()