diff options
author | Kanika Sabharwal <kanika03.sabharwal@gmail.com> | 2018-10-27 15:58:50 -0400 |
---|---|---|
committer | Kanika Sabharwal <kanika03.sabharwal@gmail.com> | 2018-10-27 15:58:50 -0400 |
commit | 9fad9937977e96cb984a0d30ae5ec3ee237a0ce7 (patch) | |
tree | 2a35d5e6e57601b5e359b8dd8ea6a6bf536e74a7 /setuptools/tests | |
parent | 56a7c4436e6370ae369f89cd6cef9294d03af8a2 (diff) | |
download | external_python_setuptools-9fad9937977e96cb984a0d30ae5ec3ee237a0ce7.tar.gz external_python_setuptools-9fad9937977e96cb984a0d30ae5ec3ee237a0ce7.tar.bz2 external_python_setuptools-9fad9937977e96cb984a0d30ae5ec3ee237a0ce7.zip |
added unittest for _download_git
Diffstat (limited to 'setuptools/tests')
-rw-r--r-- | setuptools/tests/test_packageindex.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/setuptools/tests/test_packageindex.py b/setuptools/tests/test_packageindex.py index 63b92946..7c2f2c84 100644 --- a/setuptools/tests/test_packageindex.py +++ b/setuptools/tests/test_packageindex.py @@ -6,6 +6,7 @@ import distutils.errors from setuptools.extern import six from setuptools.extern.six.moves import urllib, http_client +import mock import pkg_resources import setuptools.package_index @@ -224,6 +225,41 @@ class TestPackageIndex: 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" + + with mock.patch("os.system") as os_system_mock: + + result = index._download_git(url, filename) + + 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) + + with mock.patch("os.system") as os_system_mock: + + index._download_git(url, filename) + + os_system_mock.assert_called_once_with("git clone --quiet %s %s" % (url, filename)) + + class TestContentCheckers: def test_md5(self): checker = setuptools.package_index.HashChecker.from_url( |