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():
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(
def test_get_git_version(): git_version = Git().get_git_version() assert git_version >= parse_version('1.0.0')
def test_rev_options_repr(): rev_options = RevOptions(Git(), 'develop') assert repr(rev_options) == "<RevOptions git: rev='develop'>"
def test_git__make_rev_args(username, password, expected): """ Test VersionControl.make_rev_args(). """ actual = Git().make_rev_args(username, password) assert actual == expected
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
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():
def check_rev(repo_dir, rev, expected): git = Git() assert git.get_revision_sha(repo_dir, rev) == expected
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
def test_get_git_version() -> None: git_version = Git().get_git_version() assert git_version >= (1, 0, 0)