コード例 #1
0
ファイル: main_test.py プロジェクト: fdion/imhotep
def test_cleanup_calls_rm():
    m = mock.Mock()
    r = RepoManager(executor=m, tools=[None])
    r.to_cleanup = {'repo': '/tmp/a_dir'}
    r.cleanup()

    assert m.called_with('rm -rf /tmp/a_dir')
コード例 #2
0
ファイル: main_test.py プロジェクト: fdion/imhotep
def test_clone_adds_to_cleanup_dict():
    m = mock.Mock()
    r = RepoManager(cache_directory="/weeble/wobble/", executor=m,
                    tools=[None])
    r.clone_repo(repo_name, None)
    directory = r.clone_dir(repo_name)
    assert directory in r.to_cleanup[repo_name]
コード例 #3
0
ファイル: main_test.py プロジェクト: fdion/imhotep
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"
コード例 #4
0
ファイル: main_test.py プロジェクト: fdion/imhotep
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"
コード例 #5
0
ファイル: main_test.py プロジェクト: fdion/imhotep
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"
コード例 #6
0
ファイル: main_test.py プロジェクト: fdion/imhotep
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"
コード例 #7
0
ファイル: main_test.py プロジェクト: fdion/imhotep
def test_find_config():
    r = RepoManager(cache_directory="/weeble/wobble/", tools=[None])
    dirname = r.clone_dir(repo_name)
    assert len(find_config(dirname, list())) == 0
コード例 #8
0
ファイル: main_test.py プロジェクト: fdion/imhotep
def test_clone_dir_cached():
    r = RepoManager(cache_directory="/weeble/wobble/", tools=[None])
    val = r.clone_dir(repo_name)
    assert val.startswith('/weeble/wobble/justinabrahms__imhotep')
コード例 #9
0
ファイル: main_test.py プロジェクト: fdion/imhotep
def test_clone_dir_nocache():
    # TODO(justinabrahms): this test has side effects which generate temp
    # dirs. Need to fix that.
    r = RepoManager(tools=[None])
    val = r.clone_dir(repo_name)
    assert '/tmp' in val
コード例 #10
0
ファイル: main_test.py プロジェクト: fdion/imhotep
def test_cleanup_doesnt_call_without_clean_files():
    m = mock.Mock()
    r = RepoManager(executor=m, tools=[None])
    r.cleanup()

    assert not m.called
コード例 #11
0
ファイル: main_test.py プロジェクト: fdion/imhotep
def test_unauthencticated_repo():
    r = RepoManager(tools=[None])
    assert Repository == r.get_repo_class()
コード例 #12
0
ファイル: main_test.py プロジェクト: fdion/imhotep
def test_authencticated_repo():
    r = RepoManager(authenticated=True, tools=[None])
    assert AuthenticatedRepository == r.get_repo_class()