mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
64 lines
1.5 KiB
Python
64 lines
1.5 KiB
Python
"""
|
|
Tests for the proxy support in pip.
|
|
|
|
TODO shouldn't need to hack sys.path in here.
|
|
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
|
|
|
|
import os
|
|
import pip
|
|
import getpass
|
|
from pip.basecommand import get_proxy
|
|
from tests.test_pip import here
|
|
|
|
|
|
def new_getpass(prompt, answer='passwd'):
|
|
print('%s%s' % (prompt, answer))
|
|
return answer
|
|
|
|
|
|
def test_correct_pip_version():
|
|
"""
|
|
Check we are importing pip from the right place.
|
|
|
|
"""
|
|
base = os.path.dirname(here)
|
|
assert pip.__file__.startswith(base), pip.__file__
|
|
|
|
|
|
def test_remove_proxy():
|
|
"""
|
|
Test removing proxy from environ.
|
|
|
|
"""
|
|
if 'HTTP_PROXY' in os.environ:
|
|
del os.environ['HTTP_PROXY']
|
|
assert get_proxy() == None
|
|
os.environ['HTTP_PROXY'] = 'user:pwd@server.com:port'
|
|
assert get_proxy() == 'user:pwd@server.com:port'
|
|
del os.environ['HTTP_PROXY']
|
|
assert get_proxy('server.com') == 'server.com'
|
|
assert get_proxy('server.com:80') == 'server.com:80'
|
|
assert get_proxy('user:passwd@server.com:3128') == 'user:passwd@server.com:3128'
|
|
|
|
|
|
def test_get_proxy():
|
|
"""
|
|
Test get_proxy returns correct proxy info.
|
|
|
|
"""
|
|
# monkeypatch getpass.getpass, to avoid asking for a password
|
|
old_getpass = getpass.getpass
|
|
getpass.getpass = new_getpass
|
|
|
|
# Test it:
|
|
assert get_proxy('user:@server.com:3128') == 'user:@server.com:3128'
|
|
assert get_proxy('user@server.com:3128') == 'user:passwd@server.com:3128'
|
|
|
|
# Undo monkeypatch
|
|
getpass.getpass = old_getpass
|
|
|