def test_clone_with_url(mock_run): args = argparse.Namespace() args.clonee = "http://abc.com/repo1" args.preserve_path = None args.directory = "/home/xxx" args.from_file = False __main__.f_clone(args) cmds = ["git", "clone", args.clonee] mock_run.assert_called_once_with(cmds, cwd=args.directory) @patch( "gita.utils.parse_clone_config", return_value=[["[email protected]:user/repo.git", "repo", "/a/repo"]], ) @patch("gita.utils.run_async", new=async_mock()) @patch("subprocess.run") def test_clone_with_config_file(*_): asyncio.set_event_loop(asyncio.new_event_loop()) args = argparse.Namespace() args.clonee = "freeze_filename" args.preserve_path = False args.directory = None args.from_file = True __main__.f_clone(args) mock_run = utils.run_async.mock assert mock_run.call_count == 1 cmds = ["git", "clone", "[email protected]:user/repo.git"] mock_run.assert_called_once_with("repo", Path.cwd(), cmds)
__main__.main(['add', '/home/some/repo/']) @patch('gita.utils.get_repos', return_value={'repo2': '/d/efg'}) @patch('subprocess.run') def test_fetch(mock_run, *_): __main__.main(['fetch']) mock_run.assert_called_once_with(['git', 'fetch'], cwd='/d/efg') @patch( 'gita.utils.get_repos', return_value={ 'repo1': '/a/bc', 'repo2': '/d/efg' }) @patch('gita.utils.run_async', new=async_mock()) @patch('subprocess.run') def test_async_fetch(*_): __main__.main(['fetch']) mock_run = utils.run_async.mock assert mock_run.call_count == 2 cmds = ['git', 'fetch'] # print(mock_run.call_args_list) mock_run.assert_any_call('repo1', '/a/bc', cmds) mock_run.assert_any_call('repo2', '/d/efg', cmds) @pytest.mark.parametrize('input', [ 'diff --name-only --staged', "commit -am 'lala kaka'", ])