def test_get_info(temp_gitflow_dir, empty_vcs_configuration): repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) assert repo.get_info() == [ ("Commit message", "Version updated a -> b"), ("Release branch", 'release/b'), ]
def test_init_with_uninitialized_dir(temp_empty_dir, empty_vcs_configuration): with pytest.raises(re.RepositorySystemError) as exc: gfr.GitFlowRepo(temp_empty_dir, empty_vcs_configuration) assert str(exc.value ) == "The current directory {} is not a Git repository".format( temp_empty_dir)
def test_finish_release_without_changes(temp_gitflow_dir, empty_vcs_configuration): release_name = empty_vcs_configuration.options['new_version'] repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) repo.pre_start_release() repo.start_release() repo.finish_release() assert repo.get_current_branch() == "develop" assert release_name not in repo.get_tags()
def test_pre_start_release_starting_from_different_branch( temp_gitflow_dir, safe_devnull, empty_vcs_configuration): subprocess.check_call(["git", "checkout", "-b", "new_branch"], cwd=temp_gitflow_dir, stdout=safe_devnull, stderr=safe_devnull) repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) repo.pre_start_release() assert repo.get_current_branch() == 'develop'
def test_finish_release_with_changes(temp_gitflow_dir, empty_vcs_configuration): release_name = empty_vcs_configuration.options['new_version'] repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) repo.pre_start_release() repo.start_release() with open(os.path.join(temp_gitflow_dir, "version.txt"), "w") as f: f.writelines([release_name]) repo.finish_release() assert repo.get_current_branch() == "develop" assert release_name in repo.get_tags()
def test_pre_start_release_starting_from_different_branch_with_unstaged_changes( temp_gitflow_dir, safe_devnull, empty_vcs_configuration): subprocess.check_call(["git", "checkout", "-b", "new_branch"], cwd=temp_gitflow_dir, stdout=safe_devnull, stderr=safe_devnull) with open(os.path.join(temp_gitflow_dir, "README.md"), "w") as f: f.writelines(["Unstaged lines"]) repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) repo.pre_start_release() assert repo.get_current_branch() == 'develop'
def test_pre_start_release_starting_from_different_branch_with_uncommitted_changes( temp_gitflow_dir, safe_devnull, empty_vcs_configuration): subprocess.check_call(["git", "checkout", "-b", "new_branch"], cwd=temp_gitflow_dir, stdout=safe_devnull, stderr=safe_devnull) with open(os.path.join(temp_gitflow_dir, "README.md"), "w") as f: f.writelines(["Unstaged lines"]) subprocess.check_call(["git", "add", "README.md"], cwd=temp_gitflow_dir, stdout=safe_devnull, stderr=safe_devnull) repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) with pytest.raises(gfr.RepositoryStatusError): repo.pre_start_release()
def test_pre_start_release(temp_gitflow_dir, empty_vcs_configuration): repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) repo.pre_start_release()
def test_get_tags(temp_gitflow_dir, empty_vcs_configuration): repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) assert repo.get_tags() == ''
def test_get_current_branch(temp_gitflow_dir, empty_vcs_configuration): repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) assert repo.get_current_branch() == 'develop'
def test_init(temp_empty_git_dir, empty_vcs_configuration): repo = gfr.GitFlowRepo(temp_empty_git_dir, empty_vcs_configuration) assert repo.working_path == temp_empty_git_dir
def test_tag(temp_gitflow_dir, empty_vcs_configuration): repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) repo.tag("just_a_tag") assert "just_a_tag" in repo.get_tags()
def test_start_release(temp_gitflow_dir, empty_vcs_configuration): repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration) repo.pre_start_release() repo.start_release() assert repo.get_current_branch() == "release/b"