예제 #1
0
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'),
    ]
예제 #2
0
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)
예제 #3
0
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()
예제 #4
0
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'
예제 #5
0
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()
예제 #6
0
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'
예제 #7
0
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()
예제 #8
0
def test_pre_start_release(temp_gitflow_dir, empty_vcs_configuration):
    repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration)
    repo.pre_start_release()
예제 #9
0
def test_get_tags(temp_gitflow_dir, empty_vcs_configuration):
    repo = gfr.GitFlowRepo(temp_gitflow_dir, empty_vcs_configuration)
    assert repo.get_tags() == ''
예제 #10
0
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'
예제 #11
0
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
예제 #12
0
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()
예제 #13
0
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"