def test_push_changes_dry_run(mocked_config): git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = True git_mixin.push_changes() assert mocked_config.repo.remotes.origin.push.called is False
def test_git_commit_dry_run(mocked_config): git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = True git_mixin.git_commit("message") assert mocked_config.repo.index.commit.called is False
def test_checkout_branch(mocked_config): expected_branch_name = "awesome_branch" git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = False mocked_config.settings.git_branch_name = expected_branch_name mock_remote = Mock() mock_remote.name = "origin" mock_ref = Mock() mock_ref.name = f"{mock_remote.name}/{expected_branch_name}" mock_remote.refs = [mock_ref] mocked_config.repo.remote.return_value = mock_remote git_mixin.checkout_branch() mocked_config.repo.git.checkout.assert_called_once_with( "HEAD", B=expected_branch_name ) mocked_config.repo.remote.assert_called_once_with() mocked_config.repo.git.pull.assert_called_once_with( "origin", expected_branch_name )
def test_git_add_dry_run(mocked_config): expected_path = Path("/tmp/path") git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = True git_mixin.git_add(expected_path) assert mocked_config.repo.git.add.called is False
def test_checkout_branch_dry_run(mocked_config): git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = True git_mixin.checkout_branch() assert mocked_config.repo.git.checkout.called is False assert mocked_config.repo.git.pull.called is False
def test_git_commit(mocked_config): commit_message = "message" git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = False git_mixin.git_commit(commit_message) mocked_config.repo.index.commit.assert_called_once_with(commit_message)
def test_git_add(mocked_config): expected_path = Path("/tmp/path") git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = False git_mixin.git_add(expected_path) mocked_config.repo.is_dirty.assert_called_once_with(untracked_files=True) mocked_config.repo.git.add.assert_called_once_with(str(expected_path))
def test_checkout_no_repo(mocked_config): git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = False mocked_repo_prop = PropertyMock(return_value=None) type(mocked_config).repo = mocked_repo_prop git_mixin.checkout_branch() mocked_repo_prop.assert_called_once_with()
def test_push_changes(mocked_config): expected_branch_name = "awesome_branch" git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = False mocked_config.settings.git_branch_name = expected_branch_name git_mixin.push_changes() mocked_config.repo.remotes.origin.push.assert_called_once_with(expected_branch_name)
def test_git_remove(mocked_config): expected_path = Path("/tmp/path") git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = False git_mixin.git_remove(expected_path) mocked_config.repo.index.remove.assert_called_once_with( (str(expected_path), ), ignore_unmatch=True, r=True)
def test_git_add_no_repo(mocked_config): expected_path = Path("/tmp/path") git_mixin = get_git_mixin_consumer() mocked_config.settings.dry_run = False mocked_repo_prop = PropertyMock(return_value=None) type(mocked_config).repo = mocked_repo_prop git_mixin.git_add(expected_path) mocked_repo_prop.assert_called_once_with()
def test_git_commit_no_staged_files(mocked_config): commit_message = "message" git_mixin = get_git_mixin_consumer() git_mixin.git_diff = Mock() git_mixin.git_diff.return_value = [] mocked_config.settings.dry_run = False git_mixin.git_commit(commit_message) git_mixin.git_diff.assert_called_once_with(staged=True) assert mocked_config.repo.index.commit.called is False
def test_git_commit(mocked_config): commit_message = "message" git_mixin = get_git_mixin_consumer() git_mixin.git_diff = Mock() git_mixin.git_diff.return_value = [ "git", "diff", "--staged", "a/test", "b/test" ] mocked_config.settings.dry_run = False git_mixin.git_commit(commit_message) git_mixin.git_diff.assert_called_once_with(staged=True) mocked_config.repo.index.commit.assert_called_once_with(commit_message)