Use test.test_support.EnvironmentVarGuard where tests change environment vars.

This commit is contained in:
Walter Dörwald 2009-04-26 20:51:44 +00:00
parent e73cbe7a4e
commit 4b965f6ab1
6 changed files with 36 additions and 56 deletions

View file

@ -98,20 +98,20 @@ class urlopen_FileTests(unittest.TestCase):
class ProxyTests(unittest.TestCase):
def setUp(self):
# Save all proxy related env vars
self._saved_environ = dict([(k, v) for k, v in os.environ.iteritems()
if k.lower().find('proxy') >= 0])
# Records changes to env vars
self.env = test_support.EnvironmentVarGuard()
# Delete all proxy related env vars
for k in self._saved_environ:
del os.environ[k]
for k, v in os.environ.iteritems():
if 'proxy' in k.lower():
env.unset(k)
def tearDown(self):
# Restore all proxy related env vars
for k, v in self._saved_environ.iteritems():
os.environ[k] = v
self.env.__exit__()
del self.env
def test_getproxies_environment_keep_no_proxies(self):
os.environ['NO_PROXY'] = 'localhost'
self.env.set('NO_PROXY', 'localhost')
proxies = urllib.getproxies_environment()
# getproxies_environment use lowered case truncated (no '_proxy') keys
self.assertEquals('localhost', proxies['no'])