@@ -252,10 +252,16 @@ def test_get_repo_github_exception(self, mock_github, mock_getpass):
252252class TestForkRepo (unittest .TestCase ):
253253 @patch ("edit_python_pe.utils.user_data_dir" , return_value = "/tmp/testrepo" )
254254 @patch ("edit_python_pe.utils.os.path.exists" , return_value = False )
255+ @patch ("edit_python_pe.utils.shutil.rmtree" )
255256 @patch ("edit_python_pe.utils.pygit2.clone_repository" )
256257 @patch ("edit_python_pe.utils.sleep" , return_value = None )
257- def test_fork_repo_clones_if_not_exists (
258- self , mock_sleep , mock_clone , mock_exists , mock_user_data_dir
258+ def test_fork_repo_no_remove_if_not_exists (
259+ self ,
260+ mock_sleep ,
261+ mock_clone ,
262+ mock_rmtree ,
263+ mock_exists ,
264+ mock_user_data_dir ,
259265 ):
260266 mock_forked_repo = MagicMock ()
261267 mock_forked_repo .clone_url = "https://github.com/fake/fork.git"
@@ -265,16 +271,24 @@ def test_fork_repo_clones_if_not_exists(
265271 repo_path = fork_repo (token , mock_original_repo )[0 ]
266272 mock_original_repo .create_fork .assert_called_once ()
267273 mock_clone .assert_called_once ()
274+ mock_rmtree .assert_not_called ()
268275 call_args = mock_clone .call_args
269276 self .assertEqual (call_args [0 ][0 ], mock_forked_repo .clone_url )
270277 self .assertEqual (call_args [0 ][1 ], repo_path )
271278 self .assertEqual (repo_path , "/tmp/testrepo" )
272279
273280 @patch ("edit_python_pe.utils.user_data_dir" , return_value = "/tmp/testrepo" )
274281 @patch ("edit_python_pe.utils.os.path.exists" , return_value = True )
282+ @patch ("edit_python_pe.utils.shutil.rmtree" )
275283 @patch ("edit_python_pe.utils.pygit2.clone_repository" )
276- def test_fork_repo_no_clone_if_exists (
277- self , mock_clone , mock_exists , mock_user_data_dir
284+ @patch ("edit_python_pe.utils.sleep" , return_value = None )
285+ def test_fork_repo_remove_if_exists (
286+ self ,
287+ mock_sleep ,
288+ mock_clone ,
289+ mock_rmtree ,
290+ mock_exists ,
291+ mock_user_data_dir ,
278292 ):
279293 mock_forked_repo = MagicMock ()
280294 mock_forked_repo .clone_url = "https://github.com/fake/fork.git"
@@ -283,5 +297,6 @@ def test_fork_repo_no_clone_if_exists(
283297 token = "fake-token"
284298 repo_path = fork_repo (token , mock_original_repo )[0 ]
285299 mock_original_repo .create_fork .assert_called_once ()
286- mock_clone .assert_not_called ()
300+ mock_rmtree .assert_called_once ()
301+ mock_clone .assert_called_once ()
287302 self .assertEqual (repo_path , "/tmp/testrepo" )
0 commit comments