diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2018-12-14 15:10:56 -0500 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2018-12-14 15:10:56 -0500 |
commit | 08cdccef121eae198d719d39fbeb43b19180d99a (patch) | |
tree | 6d6a55c84b83d1f2f8ae84e1fb6dfaefb83cffa3 /setuptools/tests | |
parent | 9fad9937977e96cb984a0d30ae5ec3ee237a0ce7 (diff) | |
download | external_python_setuptools-08cdccef121eae198d719d39fbeb43b19180d99a.tar.gz external_python_setuptools-08cdccef121eae198d719d39fbeb43b19180d99a.tar.bz2 external_python_setuptools-08cdccef121eae198d719d39fbeb43b19180d99a.zip |
Call index.download, covering more code. Split test into two.
Diffstat (limited to 'setuptools/tests')
-rw-r--r-- | setuptools/tests/test_packageindex.py | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/setuptools/tests/test_packageindex.py b/setuptools/tests/test_packageindex.py index 7c2f2c84..1f6bc797 100644 --- a/setuptools/tests/test_packageindex.py +++ b/setuptools/tests/test_packageindex.py @@ -224,40 +224,43 @@ class TestPackageIndex: assert dists[0].version == '' assert dists[1].version == vc - - def test_download_git(self): - index = setuptools.package_index.PackageIndex( - hosts=('www.example.com',) - ) - - index._vcs_split_rev_from_url = mock.Mock() - url = 'https://example.com/bar' - rev = '2995' - - index._vcs_split_rev_from_url.return_value = (url, rev) - - filename = "somefile.py" + def test_download_git_with_rev(self, tmpdir): + url = 'git+https://github.example/group/project@master#egg=foo' + index = setuptools.package_index.PackageIndex() with mock.patch("os.system") as os_system_mock: - - result = index._download_git(url, filename) + result = index.download(url, str(tmpdir)) os_system_mock.assert_called() - assert os_system_mock.call_args_list[0][0] \ - == ("git clone --quiet %s %s" % (url, filename), ) - - assert os_system_mock.call_args_list[1][0] \ - == ("(cd %s && git checkout --quiet %s)" % (filename, rev), ) - assert result == filename - - index._vcs_split_rev_from_url.return_value = (url, None) + expected_dir = str(tmpdir / 'project@master') + expected = ( + 'git clone --quiet ' + 'https://github.example/group/project {expected_dir}' + ).format(**locals()) + first_call_args = os_system_mock.call_args_list[0][0] + assert first_call_args == (expected,) + + tmpl = '(cd {expected_dir} && git checkout --quiet master)' + expected = tmpl.format(**locals()) + assert os_system_mock.call_args_list[1][0] == (expected,) + assert result == expected_dir + + def test_download_git_no_rev(self, tmpdir): + url = 'git+https://github.example/group/project#egg=foo' + index = setuptools.package_index.PackageIndex() with mock.patch("os.system") as os_system_mock: + result = index.download(url, str(tmpdir)) - index._download_git(url, filename) + os_system_mock.assert_called() - os_system_mock.assert_called_once_with("git clone --quiet %s %s" % (url, filename)) + expected_dir = str(tmpdir / 'project') + expected = ( + 'git clone --quiet ' + 'https://github.example/group/project {expected_dir}' + ).format(**locals()) + os_system_mock.assert_called_once_with(expected) class TestContentCheckers: |