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()
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)
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()
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)
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()