Ejemplo n.º 1
0
    VERBOSE_FALSE = False
else:
    VERBOSE_FALSE = 0


def test_rev_options_repr():
    rev_options = RevOptions(Git(), 'develop')
    assert repr(rev_options) == "<RevOptions git: rev='develop'>"


@pytest.mark.parametrize(
    ('vcs', 'expected1', 'expected2', 'kwargs'),
    [
        # First check VCS-specific RevOptions behavior.
        (Bazaar(), [], ['-r', '123'], {}),
        (Git(), ['HEAD'], ['123'], {}),
        (Mercurial(), [], ['123'], {}),
        (Subversion(), [], ['-r', '123'], {}),
        # Test extra_args.  For this, test using a single VersionControl class.
        (Git(), ['HEAD', 'opt1', 'opt2'], ['123', 'opt1', 'opt2'],
         dict(extra_args=['opt1', 'opt2'])),
    ])
def test_rev_options_to_args(vcs, expected1, expected2, kwargs):
    """
    Test RevOptions.to_args().
    """
    assert RevOptions(vcs, **kwargs).to_args() == expected1
    assert RevOptions(vcs, '123', **kwargs).to_args() == expected2


def test_rev_options_to_display():
Ejemplo n.º 2
0
    expected_message: str,
) -> None:
    """Test invalid git version logs adds an explicit warning log."""
    mock_run_command.return_value = version_out

    caplog.set_level(logging.WARNING)

    git_tuple = Git().get_git_version()
    # Returns an empty tuple if it is an invalid git version
    assert git_tuple == ()

    # Check for warning log
    assert expected_message in caplog.text.strip()


@pytest.mark.skipif(Git().get_git_version() < (2, 17), reason="git too old")
def test_partial_clone(script: PipTestEnvironment,
                       tmp_path: pathlib.Path) -> None:
    """Test partial clone w/ a git-server that supports it"""
    repo_path = tmp_path / "repo"
    repo_file = _initialize_clonetest_server(repo_path,
                                             script,
                                             enable_partial_clone=True)
    clone_path1 = repo_path / "clone1"
    clone_path2 = repo_path / "clone2"

    commit = script.run("git", "rev-parse", "HEAD",
                        cwd=str(repo_path)).stdout.strip()

    # Check that we can clone at HEAD
    Git().fetch_new(
Ejemplo n.º 3
0
def test_get_git_version():
    git_version = Git().get_git_version()
    assert git_version >= parse_version('1.0.0')
Ejemplo n.º 4
0
def test_rev_options_repr():
    rev_options = RevOptions(Git(), 'develop')
    assert repr(rev_options) == "<RevOptions git: rev='develop'>"
Ejemplo n.º 5
0
def test_git__make_rev_args(username, password, expected):
    """
    Test VersionControl.make_rev_args().
    """
    actual = Git().make_rev_args(username, password)
    assert actual == expected
Ejemplo n.º 6
0
def test_git__get_netloc_and_auth(netloc, expected):
    """
    Test VersionControl.get_netloc_and_auth().
    """
    actual = Git().get_netloc_and_auth(netloc)
    assert actual == expected
Ejemplo n.º 7
0
    VERBOSE_FALSE = False
else:
    VERBOSE_FALSE = 0


def test_rev_options_repr():
    rev_options = RevOptions(Git(), 'develop')
    assert repr(rev_options) == "<RevOptions git: rev='develop'>"


@pytest.mark.parametrize(
    ('vcs', 'expected1', 'expected2', 'kwargs'),
    [
        # First check VCS-specific RevOptions behavior.
        (Bazaar(), [], ['-r', '123'], {}),
        (Git(), ['origin/HEAD'], ['123'], {}),
        (Mercurial(), [], ['123'], {}),
        (Subversion(), [], ['-r', '123'], {}),
        # Test extra_args.  For this, test using a single VersionControl class.
        (Git(), ['origin/HEAD', 'opt1', 'opt2'], ['123', 'opt1', 'opt2'],
         dict(extra_args=['opt1', 'opt2'])),
    ])
def test_rev_options_to_args(vcs, expected1, expected2, kwargs):
    """
    Test RevOptions.to_args().
    """
    assert RevOptions(vcs, **kwargs).to_args() == expected1
    assert RevOptions(vcs, '123', **kwargs).to_args() == expected2


def test_rev_options_to_display():
Ejemplo n.º 8
0
def check_rev(repo_dir, rev, expected):
    git = Git()
    assert git.get_revision_sha(repo_dir, rev) == expected
Ejemplo n.º 9
0
def test_git_is_commit_id_equal(mock_get_revision, rev_name, result):
    """
    Test Git.is_commit_id_equal().
    """
    mock_get_revision.return_value = '5547fa909e83df8bd743d3978d6667497983a4b7'
    assert Git().is_commit_id_equal('/path', rev_name) is result
Ejemplo n.º 10
0
def test_get_git_version() -> None:
    git_version = Git().get_git_version()
    assert git_version >= (1, 0, 0)