mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
148 lines
5.8 KiB
Python
148 lines
5.8 KiB
Python
"""
|
|
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
|
|
from pip.util import Inf
|
|
|
|
|
|
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)
|
|
|
|
def test_Inf_greater():
|
|
"""Test Inf compares greater."""
|
|
assert Inf > object()
|
|
|
|
def test_Inf_equals_Inf():
|
|
"""Test Inf compares greater."""
|
|
assert Inf == Inf
|