コード例 #1
0
def test_process_fetch_fail_no_fallback():
    gitport = Mock(autospec=GitPort, name="repo")
    gitport.list_commits.side_effect = Exception("some error")
    storage = storagemock()
    with pytest.raises(Exception):
        main.process(gitport, storage, None, REPO, False)
    gitport.list_commits.assert_called_once()
コード例 #2
0
def test_process_fetch_fail_with_fallback():
    commits = [make_commit()]
    gitport = Mock(autospec=GitPort, name="repo")
    gitport.list_commits.side_effect = Exception("some error")

    fallback = Mock(autospec=GitPort, name="fallback")
    fallback.list_commits.return_value = commits

    storage = storagemock()
    main.process(gitport, storage, fallback, REPO, False)

    gitport.list_commits.assert_called_once()
    fallback.list_commits.assert_called_once()
    assert storage.list_commits.call_count == 2
    storage.store_commits.assert_called_once()
    assert commits == storage.list_commits(REPO)
コード例 #3
0
def test_process_empty_repo():
    gitport = Mock(autospec=GitPort, name="repo")
    gitport.list_commits.return_value = []
    storage = storagemock()

    assert [] == list(main.process(gitport, storage, None, REPO, False))
    assert storage.list_commits.call_count == 2
    storage.store_commits.assert_called_once()
コード例 #4
0
def test_process_fetch_from_main():
    commits = [make_commit()]
    gitport = Mock(autospec=GitPort, name="repo")
    gitport.list_commits.return_value = commits
    storage = storagemock()
    assert commits == list(main.process(gitport, storage, None, REPO, False))
    gitport.list_commits.assert_called_once()
    assert storage.list_commits.call_count == 2
    storage.store_commits.assert_called_once()
    assert commits == storage.list_commits(REPO)
コード例 #5
0
def test_previously_cached():
    commits = [make_commit()]
    gitport = Mock(autospec=GitPort, name="repo")
    storage = storagemock()
    storage.store_commits(REPO, commits)
    storage.reset()  # reset call counters

    assert commits == list(main.process(gitport, storage, None, REPO, False))
    gitport.list_commits.assert_not_called()
    storage.list_commits.assert_called_once()