diff options
author | Jannis Leidel <jannis@leidel.info> | 2012-09-01 16:19:19 +0200 |
---|---|---|
committer | Jannis Leidel <jannis@leidel.info> | 2012-09-01 16:19:19 +0200 |
commit | 235e1dea02abd3a89ab53ea8035fd4ee8a37887b (patch) | |
tree | 5e7b2c5a853aefed870863bed9da6722100e2420 /tests/test_util.py | |
parent | 6083597ebebd05d28b57d53c6077bfa7c3b168f8 (diff) | |
parent | b183a327412e83ac24a9c9d28a6bedd94bb69d7b (diff) | |
download | pip-threaded-page-getting.tar.gz |
Merge branch 'develop' into threaded-page-gettingthreaded-page-getting
Diffstat (limited to 'tests/test_util.py')
-rw-r--r-- | tests/test_util.py | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/tests/test_util.py b/tests/test_util.py new file mode 100644 index 000000000..2907cc067 --- /dev/null +++ b/tests/test_util.py @@ -0,0 +1,140 @@ +""" +util tests + +""" +import os +import pkg_resources +from mock import Mock +from nose.tools import eq_ +from tests.path import Path +from pip.util import egg_link_path + + +class Tests_EgglinkPath: + "util.egg_link_path() tests" + + def setup(self): + + project = 'foo' + + self.mock_dist = Mock(project_name=project) + self.site_packages = 'SITE_PACKAGES' + self.user_site = 'USER_SITE' + self.user_site_egglink = os.path.join(self.user_site,'%s.egg-link' % project) + self.site_packages_egglink = os.path.join(self.site_packages,'%s.egg-link' % project) + + #patches + from pip import util + self.old_site_packages = util.site_packages + self.mock_site_packages = util.site_packages = 'SITE_PACKAGES' + self.old_running_under_virtualenv = util.running_under_virtualenv + self.mock_running_under_virtualenv = util.running_under_virtualenv = Mock() + self.old_virtualenv_no_global = util.virtualenv_no_global + self.mock_virtualenv_no_global = util.virtualenv_no_global = Mock() + self.old_user_site = util.user_site + self.mock_user_site = util.user_site = self.user_site + from os import path + self.old_isfile = path.isfile + self.mock_isfile = path.isfile = Mock() + + + def teardown(self): + from pip import util + util.site_packages = self.old_site_packages + util.running_under_virtualenv = self.old_running_under_virtualenv + util.virtualenv_no_global = self.old_virtualenv_no_global + util.user_site = self.old_user_site + from os import path + path.isfile = self.old_isfile + + + def eggLinkInUserSite(self,egglink): + return egglink==self.user_site_egglink + + def eggLinkInSitePackages(self,egglink): + return egglink==self.site_packages_egglink + + ######################### + ## egglink in usersite ## + ######################### + def test_egglink_in_usersite_notvenv(self): + self.mock_virtualenv_no_global.return_value = False + self.mock_running_under_virtualenv.return_value = False + self.mock_isfile.side_effect = self.eggLinkInUserSite + eq_(egg_link_path(self.mock_dist), self.user_site_egglink) + + def test_egglink_in_usersite_venv_noglobal(self): + self.mock_virtualenv_no_global.return_value = True + self.mock_running_under_virtualenv.return_value = True + self.mock_isfile.side_effect = self.eggLinkInUserSite + eq_(egg_link_path(self.mock_dist), None) + + def test_egglink_in_usersite_venv_global(self): + self.mock_virtualenv_no_global.return_value = False + self.mock_running_under_virtualenv.return_value = True + self.mock_isfile.side_effect = self.eggLinkInUserSite + eq_(egg_link_path(self.mock_dist), self.user_site_egglink) + + ######################### + ## egglink in sitepkgs ## + ######################### + def test_egglink_in_sitepkgs_notvenv(self): + self.mock_virtualenv_no_global.return_value = False + self.mock_running_under_virtualenv.return_value = False + self.mock_isfile.side_effect = self.eggLinkInSitePackages + eq_(egg_link_path(self.mock_dist), self.site_packages_egglink) + + def test_egglink_in_sitepkgs_venv_noglobal(self): + self.mock_virtualenv_no_global.return_value = True + self.mock_running_under_virtualenv.return_value = True + self.mock_isfile.side_effect = self.eggLinkInSitePackages + eq_(egg_link_path(self.mock_dist), self.site_packages_egglink) + + def test_egglink_in_sitepkgs_venv_global(self): + self.mock_virtualenv_no_global.return_value = False + self.mock_running_under_virtualenv.return_value = True + self.mock_isfile.side_effect = self.eggLinkInSitePackages + eq_(egg_link_path(self.mock_dist), self.site_packages_egglink) + + #################################### + ## egglink in usersite & sitepkgs ## + #################################### + def test_egglink_in_both_notvenv(self): + self.mock_virtualenv_no_global.return_value = False + self.mock_running_under_virtualenv.return_value = False + self.mock_isfile.return_value = True + eq_(egg_link_path(self.mock_dist), self.user_site_egglink) + + def test_egglink_in_both_venv_noglobal(self): + self.mock_virtualenv_no_global.return_value = True + self.mock_running_under_virtualenv.return_value = True + self.mock_isfile.return_value = True + eq_(egg_link_path(self.mock_dist), self.site_packages_egglink) + + def test_egglink_in_both_venv_global(self): + self.mock_virtualenv_no_global.return_value = False + self.mock_running_under_virtualenv.return_value = True + self.mock_isfile.return_value = True + eq_(egg_link_path(self.mock_dist), self.site_packages_egglink) + + ################ + ## no egglink ## + ################ + def test_noegglink_in_sitepkgs_notvenv(self): + self.mock_virtualenv_no_global.return_value = False + self.mock_running_under_virtualenv.return_value = False + self.mock_isfile.return_value = False + eq_(egg_link_path(self.mock_dist), None) + + def test_noegglink_in_sitepkgs_venv_noglobal(self): + self.mock_virtualenv_no_global.return_value = True + self.mock_running_under_virtualenv.return_value = True + self.mock_isfile.return_value = False + eq_(egg_link_path(self.mock_dist), None) + + def test_noegglink_in_sitepkgs_venv_global(self): + self.mock_virtualenv_no_global.return_value = False + self.mock_running_under_virtualenv.return_value = True + self.mock_isfile.return_value = False + eq_(egg_link_path(self.mock_dist), None) + |