def test_archive_repo_called_process_error(mock_logger, mock_subprocess, mock_git_asset): operation = PULL_OPERATION github_archive = GithubArchive() github_archive.archive_repo(mock_git_asset, 'github_archive', operation) mock_logger.assert_called_once()
def test_archive_repo_timeout_exception(mock_logger, mock_subprocess): repo = mock.MagicMock() repo.name = 'mock-repo' operation = 'clone' message = f'Git operation timed out archiving {repo.name}.' GithubArchive.archive_repo(repo, 'master', 'mock/path', operation) mock_logger.error.assert_called_with(message)
def test_archive_repo_success(mock_logger, mock_subprocess): repo = mock.MagicMock() repo.name = 'mock-repo' operation = 'clone' message = f'Repo: {repo.name} {operation} success!' GithubArchive.archive_repo(repo, 'master', 'mock/path', operation) mock_logger.info.assert_called_once_with(message)
def test_archive_repo_timeout_exception(mock_logger, mock_subprocess, mock_git_asset): operation = CLONE_OPERATION message = f'Git operation timed out archiving {mock_git_asset.name}.' github_archive = GithubArchive() github_archive.archive_repo(mock_git_asset, 'mock/path', operation) mock_logger.assert_called_with(message)
def test_archive_repo_clone_exists(mock_logger, mock_subprocess, mock_path_exists, mock_path_join, mock_git_asset): operation = CLONE_OPERATION github_archive = GithubArchive() github_archive.archive_repo(mock_git_asset, 'github_archive', operation) mock_subprocess.assert_not_called()
def test_archive_repo_bad_param(mock_logger, mock_subprocess): repo = mock.MagicMock() repo.name = 'mock-repo' operation = 'bad-param' message = f'Could not determine what action to take with {repo.name} based on {operation}.' with pytest.raises(ValueError): GithubArchive.archive_repo(repo, 'master', 'mock/path', operation) mock_logger.error.assert_called_once_with(message)
def test_archive_repo_clone_exists(mock_logger, mock_subprocess, mock_path_exists): repo = mock.MagicMock() repo.name = 'mock-repo' operation = 'clone' message = f'Repo: {repo.name} already cloned, skipping clone operation.' GithubArchive.archive_repo(repo, 'master', 'mock/path', operation) mock_logger.info.assert_called_once_with(message)
def test_archive_repo_success(mock_logger, mock_subprocess, mock_git_asset): # TODO: Mock the subprocess better to ensure it's doing what it should operation = CLONE_OPERATION message = f'Repo: {mock_git_asset.owner.login}/{mock_git_asset.name} {operation} success!' github_archive = GithubArchive() github_archive.archive_repo(mock_git_asset, 'mock/path', operation) mock_subprocess.assert_called() mock_logger.assert_called_once_with(message)
def test_archive_repo_bad_param(mock_logger, mock_subprocess, mock_object): operation = 'bad-param' message = f'Could not determine what action to take with {mock_object.name} based on {operation}.' with pytest.raises(ValueError): GithubArchive.archive_repo(mock_object, 'mock/path', operation) mock_logger.error.assert_called_once_with(message)
def test_archive_repo_called_process_error(mock_logger, mock_subprocess, mock_object): operation = 'pull' GithubArchive.archive_repo(mock_object, 'mock/path', operation) mock_logger.error.assert_called()
def test_archive_repo_timeout_exception(mock_logger, mock_subprocess, mock_object): operation = 'clone' message = f'Git operation timed out archiving {mock_object.name}.' GithubArchive.archive_repo(mock_object, 'mock/path', operation) mock_logger.error.assert_called_with(message)
def test_archive_repo_clone_exists(mock_logger, mock_subprocess, mock_path_exists, mock_object): operation = 'clone' message = f'Repo: {mock_object.name} already cloned, skipping clone operation.' GithubArchive.archive_repo(mock_object, 'mock/path', operation) mock_logger.info.assert_called_once_with(message)
def test_archive_repo_success(mock_logger, mock_subprocess, mock_object): operation = 'clone' message = f'Repo: {mock_object.name} {operation} success!' GithubArchive.archive_repo(mock_object, 'mock/path', operation) mock_logger.info.assert_called_once_with(message)
def test_archive_repo_called_process_error(mock_logger, mock_subprocess): repo = mock.MagicMock() repo.name = 'mock-repo' operation = 'pull' GithubArchive.archive_repo(repo, 'master', 'mock/path', operation) mock_logger.error.assert_called()