1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
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)
|