def test_adds_remote_if_pr_is_remote(): finder = re.compile(r'git remote add name url') m = mock.Mock() r = RepoManager(cache_directory="/fooz", executor=m, tools=[None]) r.clone_repo(repo_name, Remote("name", "url")) assert len(calls_matching_re(m, finder)) == 1, "Remote not added"
def test_pulls_remote_changes_if_remote(): finder = re.compile(r'git pull --all') m = mock.Mock() r = RepoManager(cache_directory="/fooz", executor=m, tools=[None]) r.clone_repo(repo_name, Remote("name", "url")) assert len(calls_matching_re(m, finder)) == 1, "Didn't pull updates"
def test_clones_if_no_existing_repo(): finder = re.compile(r'git clone') m = mock.Mock() r = RepoManager(cache_directory="/fooz", executor=m, tools=[None]) r.clone_repo(repo_name, None) assert len(calls_matching_re(m, finder)) == 1, "Didn't git clone"
def test_invoke_runs_command(): m = mock.Mock() m.return_value = "" t = ExampleTool(m) t.invoke('/woobie/') assert len(calls_matching_re( m, re.compile("example-cmd"))) == 1
def test_find_includes_extension(): m = mock.Mock() m.return_value = "" t = ExampleTool(m) t.invoke('/woobie/') assert len(calls_matching_re( m, re.compile(r'-name "\*.exe"'))) > 0
def test_find_searches_dirname(): m = mock.Mock() m.return_value = "" t = ExampleTool(m) t.invoke('/woobie/') assert len(calls_matching_re( m, re.compile(r'find /woobie/'))) > 0
def test_find_includes_multiple_extensions_with_dash_o(): m = mock.Mock() m.return_value = "" t = ExampleTool(m) t.get_file_extensions = lambda: ['.a', '.b'] t.invoke('/woobie/') assert len(calls_matching_re( m, re.compile(r'-name "\*.a" -o -name "\*.b"'))) > 0
def test_updates_if_existing_repo(): finder = re.compile(r'git clone') m = mock.Mock() r = RepoManager(cache_directory="/fooz", executor=m, tools=[None]) with mock.patch('os.path.isdir') as isdir: isdir.return_value = True r.clone_repo(repo_name, None) assert len(calls_matching_re(m, finder)) == 0, "Shouldn't git clone"