2121import tempfile
2222import unittest
2323from datetime import datetime , timedelta
24- from unittest .mock import Mock , patch
24+ from unittest .mock import Mock , patch , call
2525
2626from pkg_resources import parse_requirements
2727
@@ -65,6 +65,7 @@ def test_create_simple(self):
6565 }
6666 interpreter = 'python3'
6767 is_current = True
68+ avoid_pip_upgrade = False
6869 options = {"virtualenv_options" : [],
6970 "pyvenv_options" : [],
7071 }
@@ -74,8 +75,8 @@ def test_create_simple(self):
7475 mock_create .return_value = ('env_path' , 'env_bin_path' , 'pip_installed' )
7576 mock_mgr_c .return_value = fake_manager = self .FakeManager ()
7677 fake_manager .really_installed = {'dep1' : 'v1' , 'dep2' : 'v2' }
77- venv_data , installed = envbuilder .create_venv (requested , interpreter , is_current ,
78- options , pip_options )
78+ venv_data , installed = envbuilder .create_venv (
79+ requested , interpreter , is_current , options , pip_options , avoid_pip_upgrade )
7980
8081 self .assertEqual (venv_data , {
8182 'env_bin_path' : 'env_bin_path' ,
@@ -88,21 +89,26 @@ def test_create_simple(self):
8889 'dep2' : 'v2' ,
8990 }
9091 })
92+ expected_pipmanager_call = call (
93+ 'env_bin_path' , pip_installed = 'pip_installed' , options = [],
94+ avoid_pip_upgrade = avoid_pip_upgrade )
95+ self .assertEqual (mock_mgr_c .call_args , expected_pipmanager_call )
9196
9297 def test_create_vcs (self ):
9398 requested = {
9499 REPO_VCS : [parsing .VCSDependency ("someurl" )]
95100 }
96101 interpreter = 'python3'
97102 is_current = True
103+ avoid_pip_upgrade = False
98104 options = {"virtualenv_options" : [], "pyvenv_options" : []}
99105 pip_options = []
100106 with patch .object (envbuilder ._FadesEnvBuilder , 'create_env' ) as mock_create :
101107 with patch .object (envbuilder , 'PipManager' ) as mock_mgr_c :
102108 mock_create .return_value = ('env_path' , 'env_bin_path' , 'pip_installed' )
103109 mock_mgr_c .return_value = self .FakeManager ()
104- venv_data , installed = envbuilder .create_venv (requested , interpreter , is_current ,
105- options , pip_options )
110+ venv_data , installed = envbuilder .create_venv (
111+ requested , interpreter , is_current , options , pip_options , avoid_pip_upgrade )
106112
107113 self .assertEqual (venv_data , {
108114 'env_bin_path' : 'env_bin_path' ,
@@ -117,6 +123,7 @@ def test_unknown_repo(self):
117123 }
118124 interpreter = 'python3'
119125 is_current = True
126+ avoid_pip_upgrade = False
120127 options = {"virtualenv_options" : [],
121128 "pyvenv_options" : [],
122129 }
@@ -125,7 +132,8 @@ def test_unknown_repo(self):
125132 with patch .object (envbuilder , 'PipManager' ) as mock_mgr_c :
126133 mock_create .return_value = ('env_path' , 'env_bin_path' , 'pip_installed' )
127134 mock_mgr_c .return_value = self .FakeManager ()
128- envbuilder .create_venv (requested , interpreter , is_current , options , pip_options )
135+ envbuilder .create_venv (
136+ requested , interpreter , is_current , options , pip_options , avoid_pip_upgrade )
129137
130138 self .assertLoggedWarning ("Install from 'unknown' not implemented" )
131139
@@ -135,6 +143,7 @@ def test_non_existing_dep(self):
135143 }
136144 interpreter = 'python3'
137145 is_current = True
146+ avoid_pip_upgrade = False
138147 options = {'virtualenv_options' : [],
139148 'pyvenv_options' : [],
140149 }
@@ -147,11 +156,8 @@ def test_non_existing_dep(self):
147156 with patch .object (envbuilder , 'destroy_venv' , spec = True ) as mock_destroy :
148157 with self .assertRaises (FadesError ) as cm :
149158 envbuilder .create_venv (
150- requested ,
151- interpreter ,
152- is_current ,
153- options ,
154- pip_options )
159+ requested , interpreter , is_current , options , pip_options ,
160+ avoid_pip_upgrade )
155161 self .assertEqual (str (cm .exception ), 'Dependency installation failed' )
156162 mock_destroy .assert_called_once_with ('env_path' )
157163
@@ -163,6 +169,7 @@ def test_different_versions(self):
163169 }
164170 interpreter = 'python3'
165171 is_current = True
172+ avoid_pip_upgrade = False
166173 options = {"virtualenv_options" : [],
167174 "pyvenv_options" : [],
168175 }
@@ -172,8 +179,8 @@ def test_different_versions(self):
172179 mock_create .return_value = ('env_path' , 'env_bin_path' , 'pip_installed' )
173180 mock_mgr_c .return_value = fake_manager = self .FakeManager ()
174181 fake_manager .really_installed = {'dep1' : 'vX' , 'dep2' : 'v2' }
175- _ , installed = envbuilder .create_venv (requested , interpreter , is_current , options ,
176- pip_options )
182+ _ , installed = envbuilder .create_venv (
183+ requested , interpreter , is_current , options , pip_options , avoid_pip_upgrade )
177184
178185 self .assertEqual (installed , {
179186 REPO_PYPI : {
0 commit comments