mirror of https://github.com/pypa/pip
Require an already created session to be passed into APIs
This commit is contained in:
parent
fb46902a11
commit
7037443975
|
@ -213,7 +213,9 @@ def get_file_content(url, comes_from=None, session=None):
|
|||
"""Gets the content of a file; it may be a filename, file: URL, or
|
||||
http: URL. Returns (location, content). Content is unicode."""
|
||||
if session is None:
|
||||
session = PipSession()
|
||||
raise TypeError(
|
||||
"get_file_content() missing 1 required keyword argument: 'session'"
|
||||
)
|
||||
|
||||
match = _scheme_re.search(url)
|
||||
if match:
|
||||
|
@ -494,7 +496,9 @@ def _copy_file(filename, location, content_type, link):
|
|||
def unpack_http_url(link, location, download_cache, download_dir=None,
|
||||
session=None):
|
||||
if session is None:
|
||||
session = PipSession()
|
||||
raise TypeError(
|
||||
"unpack_http_url() missing 1 required keyword argument: 'session'"
|
||||
)
|
||||
|
||||
temp_dir = tempfile.mkdtemp('-unpack', 'pip-')
|
||||
temp_location = None
|
||||
|
|
19
pip/index.py
19
pip/index.py
|
@ -13,7 +13,7 @@ from pip.exceptions import (
|
|||
UnsupportedWheel,
|
||||
)
|
||||
from pip.backwardcompat import urlparse, url2pathname
|
||||
from pip.download import PipSession, url_to_path, path_to_url
|
||||
from pip.download import url_to_path, path_to_url
|
||||
from pip.wheel import Wheel, wheel_ext
|
||||
from pip.pep425tags import supported_tags, supported_tags_noarch, get_platform
|
||||
from pip._vendor import html5lib, requests, pkg_resources
|
||||
|
@ -39,6 +39,12 @@ class PackageFinder(object):
|
|||
use_wheel=True, allow_external=[], allow_unverified=[],
|
||||
allow_all_external=False, allow_all_prereleases=False,
|
||||
session=None):
|
||||
if session is None:
|
||||
raise TypeError(
|
||||
"PackageFinder() missing 1 required keyword argument: "
|
||||
"'session'"
|
||||
)
|
||||
|
||||
self.find_links = find_links
|
||||
self.index_urls = index_urls
|
||||
self.cache = PageCache()
|
||||
|
@ -73,7 +79,7 @@ class PackageFinder(object):
|
|||
self.allow_all_prereleases = allow_all_prereleases
|
||||
|
||||
# The Session we'll use to make requests
|
||||
self.session = session or PipSession()
|
||||
self.session = session
|
||||
|
||||
def _sort_locations(self, locations):
|
||||
"""
|
||||
|
@ -717,7 +723,9 @@ class HTMLPage(object):
|
|||
@classmethod
|
||||
def get_page(cls, link, req, cache=None, skip_archives=True, session=None):
|
||||
if session is None:
|
||||
session = PipSession()
|
||||
raise TypeError(
|
||||
"get_page() missing 1 required keyword argument: 'session'"
|
||||
)
|
||||
|
||||
url = link.url
|
||||
url = url.split('#', 1)[0]
|
||||
|
@ -827,11 +835,8 @@ class HTMLPage(object):
|
|||
cache.add_page_failure(url, level)
|
||||
|
||||
@staticmethod
|
||||
def _get_content_type(url, session=None):
|
||||
def _get_content_type(url, session):
|
||||
"""Get the Content-Type of the given url, using a HEAD request"""
|
||||
if session is None:
|
||||
session = PipSession()
|
||||
|
||||
scheme, netloc, path, query, fragment = urlparse.urlsplit(url)
|
||||
if scheme not in ('http', 'https', 'ftp', 'ftps'):
|
||||
# FIXME: some warning or something?
|
||||
|
|
|
@ -2,7 +2,7 @@ import os
|
|||
import re
|
||||
|
||||
from pip.backwardcompat import urlparse
|
||||
from pip.download import PipSession, get_file_content
|
||||
from pip.download import get_file_content
|
||||
from pip.req.req_install import InstallRequirement
|
||||
from pip.util import normalize_name
|
||||
|
||||
|
@ -12,7 +12,10 @@ _scheme_re = re.compile(r'^(http|https|file):', re.I)
|
|||
def parse_requirements(filename, finder=None, comes_from=None, options=None,
|
||||
session=None):
|
||||
if session is None:
|
||||
session = PipSession()
|
||||
raise TypeError(
|
||||
"parse_requirements() missing 1 required keyword argument: "
|
||||
"'session'"
|
||||
)
|
||||
|
||||
skip_match = None
|
||||
skip_regex = options.skip_requirements_regex if options else None
|
||||
|
|
|
@ -4,7 +4,7 @@ import zipfile
|
|||
|
||||
from pip._vendor import pkg_resources
|
||||
from pip.backwardcompat import HTTPError
|
||||
from pip.download import (PipSession, url_to_path, unpack_vcs_link, is_vcs_url,
|
||||
from pip.download import (url_to_path, unpack_vcs_link, is_vcs_url,
|
||||
is_file_url, unpack_file_url, unpack_http_url)
|
||||
from pip.exceptions import (InstallationError, BestVersionAlreadyInstalled,
|
||||
DistributionNotFound, PreviousBuildDirError)
|
||||
|
@ -54,6 +54,12 @@ class RequirementSet(object):
|
|||
target_dir=None, ignore_dependencies=False,
|
||||
force_reinstall=False, use_user_site=False, session=None,
|
||||
pycompile=True, wheel_download_dir=None):
|
||||
if session is None:
|
||||
raise TypeError(
|
||||
"RequirementSet() missing 1 required keyword argument: "
|
||||
"'session'"
|
||||
)
|
||||
|
||||
self.build_dir = build_dir
|
||||
self.src_dir = src_dir
|
||||
self.download_dir = download_dir
|
||||
|
@ -74,7 +80,7 @@ class RequirementSet(object):
|
|||
self.as_egg = as_egg
|
||||
self.use_user_site = use_user_site
|
||||
self.target_dir = target_dir # set from --target option
|
||||
self.session = session or PipSession()
|
||||
self.session = session
|
||||
self.pycompile = pycompile
|
||||
self.wheel_download_dir = wheel_download_dir
|
||||
|
||||
|
|
|
@ -11,13 +11,14 @@ from pip.exceptions import (
|
|||
BestVersionAlreadyInstalled, DistributionNotFound, InstallationError,
|
||||
)
|
||||
from pip.util import Inf
|
||||
from pip.download import PipSession
|
||||
|
||||
from mock import Mock, patch
|
||||
|
||||
|
||||
def test_no_mpkg(data):
|
||||
"""Finder skips zipfiles with "macosx10" in the name."""
|
||||
finder = PackageFinder([data.find_links], [])
|
||||
finder = PackageFinder([data.find_links], [], session=PipSession())
|
||||
req = InstallRequirement.from_line("pkgwithmpkg")
|
||||
found = finder.find_requirement(req, False)
|
||||
|
||||
|
@ -26,7 +27,7 @@ def test_no_mpkg(data):
|
|||
|
||||
def test_no_partial_name_match(data):
|
||||
"""Finder requires the full project name to match, not just beginning."""
|
||||
finder = PackageFinder([data.find_links], [])
|
||||
finder = PackageFinder([data.find_links], [], session=PipSession())
|
||||
req = InstallRequirement.from_line("gmpy")
|
||||
found = finder.find_requirement(req, False)
|
||||
|
||||
|
@ -36,7 +37,11 @@ def test_no_partial_name_match(data):
|
|||
def test_duplicates_sort_ok(data):
|
||||
"""Finder successfully finds one of a set of duplicates in different
|
||||
locations"""
|
||||
finder = PackageFinder([data.find_links, data.find_links2], [])
|
||||
finder = PackageFinder(
|
||||
[data.find_links, data.find_links2],
|
||||
[],
|
||||
session=PipSession(),
|
||||
)
|
||||
req = InstallRequirement.from_line("duplicate")
|
||||
found = finder.find_requirement(req, False)
|
||||
|
||||
|
@ -46,7 +51,7 @@ def test_duplicates_sort_ok(data):
|
|||
def test_finder_detects_latest_find_links(data):
|
||||
"""Test PackageFinder detects latest using find-links"""
|
||||
req = InstallRequirement.from_line('simple', None)
|
||||
finder = PackageFinder([data.find_links], [])
|
||||
finder = PackageFinder([data.find_links], [], session=PipSession())
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.url.endswith("simple-3.0.tar.gz")
|
||||
|
||||
|
@ -62,7 +67,7 @@ def test_finder_detects_latest_already_satisfied_find_links(data):
|
|||
version=latest_version
|
||||
)
|
||||
req.satisfied_by = satisfied_by
|
||||
finder = PackageFinder([data.find_links], [])
|
||||
finder = PackageFinder([data.find_links], [], session=PipSession())
|
||||
|
||||
with pytest.raises(BestVersionAlreadyInstalled):
|
||||
finder.find_requirement(req, True)
|
||||
|
@ -79,7 +84,11 @@ def test_finder_detects_latest_already_satisfied_pypi_links():
|
|||
version=latest_version,
|
||||
)
|
||||
req.satisfied_by = satisfied_by
|
||||
finder = PackageFinder([], ["http://pypi.python.org/simple"])
|
||||
finder = PackageFinder(
|
||||
[],
|
||||
["http://pypi.python.org/simple"],
|
||||
session=PipSession(),
|
||||
)
|
||||
|
||||
with pytest.raises(BestVersionAlreadyInstalled):
|
||||
finder.find_requirement(req, True)
|
||||
|
@ -98,7 +107,12 @@ class TestWheel:
|
|||
logger.add_consumers((logger.DEBUG, log.append))
|
||||
req = InstallRequirement.from_line("invalid")
|
||||
# data.find_links contains "invalid.whl", which is an invalid wheel
|
||||
finder = PackageFinder([data.find_links], [], use_wheel=True)
|
||||
finder = PackageFinder(
|
||||
[data.find_links],
|
||||
[],
|
||||
use_wheel=True,
|
||||
session=PipSession(),
|
||||
)
|
||||
with pytest.raises(DistributionNotFound):
|
||||
finder.find_requirement(req, True)
|
||||
"invalid.whl because the wheel filename is invalid" in "".join(log)
|
||||
|
@ -114,7 +128,12 @@ class TestWheel:
|
|||
)
|
||||
|
||||
req = InstallRequirement.from_line("simple.dist")
|
||||
finder = PackageFinder([data.find_links], [], use_wheel=True)
|
||||
finder = PackageFinder(
|
||||
[data.find_links],
|
||||
[],
|
||||
use_wheel=True,
|
||||
session=PipSession(),
|
||||
)
|
||||
|
||||
with pytest.raises(DistributionNotFound):
|
||||
finder.find_requirement(req, True)
|
||||
|
@ -130,7 +149,12 @@ class TestWheel:
|
|||
)
|
||||
|
||||
req = InstallRequirement.from_line("simple.dist")
|
||||
finder = PackageFinder([data.find_links], [], use_wheel=True)
|
||||
finder = PackageFinder(
|
||||
[data.find_links],
|
||||
[],
|
||||
use_wheel=True,
|
||||
session=PipSession(),
|
||||
)
|
||||
found = finder.find_requirement(req, True)
|
||||
assert (
|
||||
found.url.endswith("simple.dist-0.1-py2.py3-none-any.whl"), found
|
||||
|
@ -142,7 +166,12 @@ class TestWheel:
|
|||
`test_link_sorting` also covers this at lower level
|
||||
"""
|
||||
req = InstallRequirement.from_line("priority")
|
||||
finder = PackageFinder([data.find_links], [], use_wheel=True)
|
||||
finder = PackageFinder(
|
||||
[data.find_links],
|
||||
[],
|
||||
use_wheel=True,
|
||||
session=PipSession(),
|
||||
)
|
||||
found = finder.find_requirement(req, True)
|
||||
assert found.url.endswith("priority-1.0-py2.py3-none-any.whl"), found
|
||||
|
||||
|
@ -159,7 +188,12 @@ class TestWheel:
|
|||
version=latest_version,
|
||||
)
|
||||
req.satisfied_by = satisfied_by
|
||||
finder = PackageFinder([data.find_links], [], use_wheel=True)
|
||||
finder = PackageFinder(
|
||||
[data.find_links],
|
||||
[],
|
||||
use_wheel=True,
|
||||
session=PipSession(),
|
||||
)
|
||||
|
||||
with pytest.raises(BestVersionAlreadyInstalled):
|
||||
finder.find_requirement(req, True)
|
||||
|
@ -186,7 +220,7 @@ class TestWheel:
|
|||
(parse_version('1.0'), Link('simple-1.0.tar.gz'), '1.0'),
|
||||
]
|
||||
|
||||
finder = PackageFinder([], [])
|
||||
finder = PackageFinder([], [], session=PipSession())
|
||||
finder.use_wheel = True
|
||||
|
||||
results = finder._sort_versions(links)
|
||||
|
@ -203,7 +237,7 @@ class TestWheel:
|
|||
'1.0',
|
||||
),
|
||||
]
|
||||
finder = PackageFinder([], [], use_wheel=True)
|
||||
finder = PackageFinder([], [], use_wheel=True, session=PipSession())
|
||||
with pytest.raises(InstallationError):
|
||||
finder._sort_versions(links)
|
||||
|
||||
|
@ -214,6 +248,7 @@ def test_finder_priority_file_over_page(data):
|
|||
finder = PackageFinder(
|
||||
[data.find_links],
|
||||
["http://pypi.python.org/simple"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.url.startswith("file://")
|
||||
|
@ -224,7 +259,7 @@ def test_finder_priority_nonegg_over_eggfragments():
|
|||
req = InstallRequirement.from_line('bar==1.0', None)
|
||||
links = ['http://foo/bar.py#egg=bar-1.0', 'http://foo/bar-1.0.tar.gz']
|
||||
|
||||
finder = PackageFinder(links, [])
|
||||
finder = PackageFinder(links, [], session=PipSession())
|
||||
|
||||
with patch.object(finder, "_get_pages", lambda x, y: []):
|
||||
link = finder.find_requirement(req, False)
|
||||
|
@ -232,7 +267,7 @@ def test_finder_priority_nonegg_over_eggfragments():
|
|||
assert link.url.endswith('tar.gz')
|
||||
|
||||
links.reverse()
|
||||
finder = PackageFinder(links, [])
|
||||
finder = PackageFinder(links, [], session=PipSession())
|
||||
|
||||
with patch.object(finder, "_get_pages", lambda x, y: []):
|
||||
link = finder.find_requirement(req, False)
|
||||
|
@ -248,20 +283,20 @@ def test_finder_only_installs_stable_releases(data):
|
|||
req = InstallRequirement.from_line("bar", None)
|
||||
|
||||
# using a local index (that has pre & dev releases)
|
||||
finder = PackageFinder([], [data.index_url("pre")])
|
||||
finder = PackageFinder([], [data.index_url("pre")], session=PipSession())
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.url.endswith("bar-1.0.tar.gz"), link.url
|
||||
|
||||
# using find-links
|
||||
links = ["https://foo/bar-1.0.tar.gz", "https://foo/bar-2.0b1.tar.gz"]
|
||||
finder = PackageFinder(links, [])
|
||||
finder = PackageFinder(links, [], session=PipSession())
|
||||
|
||||
with patch.object(finder, "_get_pages", lambda x, y: []):
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.url == "https://foo/bar-1.0.tar.gz"
|
||||
|
||||
links.reverse()
|
||||
finder = PackageFinder(links, [])
|
||||
finder = PackageFinder(links, [], session=PipSession())
|
||||
|
||||
with patch.object(finder, "_get_pages", lambda x, y: []):
|
||||
link = finder.find_requirement(req, False)
|
||||
|
@ -276,20 +311,20 @@ def test_finder_installs_pre_releases(data):
|
|||
req = InstallRequirement.from_line("bar", None, prereleases=True)
|
||||
|
||||
# using a local index (that has pre & dev releases)
|
||||
finder = PackageFinder([], [data.index_url("pre")])
|
||||
finder = PackageFinder([], [data.index_url("pre")], session=PipSession())
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.url.endswith("bar-2.0b1.tar.gz"), link.url
|
||||
|
||||
# using find-links
|
||||
links = ["https://foo/bar-1.0.tar.gz", "https://foo/bar-2.0b1.tar.gz"]
|
||||
finder = PackageFinder(links, [])
|
||||
finder = PackageFinder(links, [], session=PipSession())
|
||||
|
||||
with patch.object(finder, "_get_pages", lambda x, y: []):
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.url == "https://foo/bar-2.0b1.tar.gz"
|
||||
|
||||
links.reverse()
|
||||
finder = PackageFinder(links, [])
|
||||
finder = PackageFinder(links, [], session=PipSession())
|
||||
|
||||
with patch.object(finder, "_get_pages", lambda x, y: []):
|
||||
link = finder.find_requirement(req, False)
|
||||
|
@ -304,7 +339,7 @@ def test_finder_installs_dev_releases(data):
|
|||
req = InstallRequirement.from_line("bar", None, prereleases=True)
|
||||
|
||||
# using a local index (that has dev releases)
|
||||
finder = PackageFinder([], [data.index_url("dev")])
|
||||
finder = PackageFinder([], [data.index_url("dev")], session=PipSession())
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.url.endswith("bar-2.0.dev1.tar.gz"), link.url
|
||||
|
||||
|
@ -316,14 +351,14 @@ def test_finder_installs_pre_releases_with_version_spec():
|
|||
req = InstallRequirement.from_line("bar>=0.0.dev0", None)
|
||||
links = ["https://foo/bar-1.0.tar.gz", "https://foo/bar-2.0b1.tar.gz"]
|
||||
|
||||
finder = PackageFinder(links, [])
|
||||
finder = PackageFinder(links, [], session=PipSession())
|
||||
|
||||
with patch.object(finder, "_get_pages", lambda x, y: []):
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.url == "https://foo/bar-2.0b1.tar.gz"
|
||||
|
||||
links.reverse()
|
||||
finder = PackageFinder(links, [])
|
||||
finder = PackageFinder(links, [], session=PipSession())
|
||||
|
||||
with patch.object(finder, "_get_pages", lambda x, y: []):
|
||||
link = finder.find_requirement(req, False)
|
||||
|
@ -337,7 +372,11 @@ def test_finder_ignores_external_links(data):
|
|||
req = InstallRequirement.from_line("bar", None)
|
||||
|
||||
# using a local index
|
||||
finder = PackageFinder([], [data.index_url("externals")])
|
||||
finder = PackageFinder(
|
||||
[],
|
||||
[data.index_url("externals")],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-1.0.tar.gz"
|
||||
|
||||
|
@ -354,6 +393,7 @@ def test_finder_finds_external_links_with_hashes_per_project(data):
|
|||
[],
|
||||
[data.index_url("externals")],
|
||||
allow_external=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-2.0.tar.gz"
|
||||
|
@ -371,6 +411,7 @@ def test_finder_finds_external_links_with_hashes_all(data):
|
|||
[],
|
||||
[data.index_url("externals")],
|
||||
allow_all_external=True,
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-2.0.tar.gz"
|
||||
|
@ -388,6 +429,7 @@ def test_finder_finds_external_links_without_hashes_per_project(data):
|
|||
[data.index_url("externals")],
|
||||
allow_external=["bar"],
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-3.0.tar.gz"
|
||||
|
@ -406,6 +448,7 @@ def test_finder_finds_external_links_without_hashes_all(data):
|
|||
[data.index_url("externals")],
|
||||
allow_all_external=True,
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-3.0.tar.gz"
|
||||
|
@ -423,6 +466,7 @@ def test_finder_finds_external_links_without_hashes_scraped_per_project(data):
|
|||
[data.index_url("externals")],
|
||||
allow_external=["bar"],
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-4.0.tar.gz"
|
||||
|
@ -441,6 +485,7 @@ def test_finder_finds_external_links_without_hashes_scraped_all(data):
|
|||
[data.index_url("externals")],
|
||||
allow_all_external=True,
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-4.0.tar.gz"
|
||||
|
@ -459,6 +504,7 @@ def test_finder_finds_external_links_without_hashes_per_project_all_insecure(
|
|||
[data.index_url("externals")],
|
||||
allow_external=["bar"],
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-3.0.tar.gz"
|
||||
|
@ -477,6 +523,7 @@ def test_finder_finds_external_links_without_hashes_all_all_insecure(data):
|
|||
[data.index_url("externals")],
|
||||
allow_all_external=True,
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-3.0.tar.gz"
|
||||
|
@ -494,6 +541,7 @@ def test_finder_finds_external_links_without_hashes_scraped_per_project_all_inse
|
|||
[data.index_url("externals")],
|
||||
allow_external=["bar"],
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-4.0.tar.gz"
|
||||
|
@ -513,6 +561,7 @@ def test_finder_finds_external_links_without_hashes_scraped_all_all_insecure(
|
|||
[data.index_url("externals")],
|
||||
allow_all_external=True,
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-4.0.tar.gz"
|
||||
|
@ -530,6 +579,7 @@ def test_finder_finds_external_links_without_hashes_scraped_insecure(data):
|
|||
[],
|
||||
[data.index_url("externals")],
|
||||
allow_unverified=["bar"],
|
||||
session=PipSession(),
|
||||
)
|
||||
link = finder.find_requirement(req, False)
|
||||
assert link.filename == "bar-4.0.tar.gz"
|
||||
|
@ -546,7 +596,12 @@ class test_link_package_versions(object):
|
|||
self.version = '1.0'
|
||||
self.parsed_version = parse_version(self.version)
|
||||
self.search_name = 'pytest'
|
||||
self.finder = PackageFinder([], [], use_wheel=True)
|
||||
self.finder = PackageFinder(
|
||||
[],
|
||||
[],
|
||||
use_wheel=True,
|
||||
session=PipSession(),
|
||||
)
|
||||
|
||||
def test_link_package_versions_match_wheel(self):
|
||||
"""Test that 'pytest' archives match for 'pytest'"""
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
from pip.download import PipSession
|
||||
from pip.index import package_to_requirement, HTMLPage
|
||||
from pip.index import PackageFinder, Link, INSTALLED_VERSION
|
||||
|
||||
|
@ -36,7 +37,7 @@ def test_sort_locations_file_find_link(data):
|
|||
"""
|
||||
Test that a file:// find-link dir gets listdir run
|
||||
"""
|
||||
finder = PackageFinder([data.find_links], [])
|
||||
finder = PackageFinder([data.find_links], [], session=PipSession())
|
||||
files, urls = finder._sort_locations([data.find_links])
|
||||
assert files and not urls, (
|
||||
"files and not urls should have been found at find-links url: %s" %
|
||||
|
@ -49,7 +50,7 @@ def test_sort_locations_file_not_find_link(data):
|
|||
Test that a file:// url dir that's not a find-link, doesn't get a listdir
|
||||
run
|
||||
"""
|
||||
finder = PackageFinder([], [])
|
||||
finder = PackageFinder([], [], session=PipSession())
|
||||
files, urls = finder._sort_locations(data.index_url("empty_with_pkg"))
|
||||
assert urls and not files, "urls, but not files should have been found"
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ from mock import Mock, patch, mock_open
|
|||
from pip.exceptions import (
|
||||
PreviousBuildDirError, InvalidWheelFilename, UnsupportedWheel,
|
||||
)
|
||||
from pip.download import PipSession
|
||||
from pip.index import PackageFinder
|
||||
from pip.log import logger
|
||||
from pip.req import (InstallRequirement, RequirementSet,
|
||||
|
@ -34,6 +35,7 @@ class TestRequirementSet(object):
|
|||
src_dir=os.path.join(self.tempdir, 'src'),
|
||||
download_dir=None,
|
||||
download_cache=os.path.join(self.tempdir, 'download_cache'),
|
||||
session=PipSession(),
|
||||
)
|
||||
|
||||
def test_no_reuse_existing_build_dir(self, data):
|
||||
|
@ -45,7 +47,7 @@ class TestRequirementSet(object):
|
|||
reqset = self.basic_reqset()
|
||||
req = InstallRequirement.from_line('simple')
|
||||
reqset.add_requirement(req)
|
||||
finder = PackageFinder([data.find_links], [])
|
||||
finder = PackageFinder([data.find_links], [], session=PipSession())
|
||||
assert_raises_regexp(
|
||||
PreviousBuildDirError,
|
||||
"pip can't proceed with [\s\S]*%s[\s\S]*%s" %
|
||||
|
@ -181,7 +183,7 @@ def test_remote_reqs_parse():
|
|||
# previously this has failed in py3: https://github.com/pypa/pip/issues/760
|
||||
for req in parse_requirements(
|
||||
'https://raw.githubusercontent.com/pypa/pip-test-package/master/'
|
||||
'tests/req_just_comment.txt'):
|
||||
'tests/req_just_comment.txt', session=PipSession()):
|
||||
pass
|
||||
|
||||
|
||||
|
@ -189,9 +191,10 @@ def test_req_file_parse_use_wheel(data):
|
|||
"""
|
||||
Test parsing --use-wheel from a req file
|
||||
"""
|
||||
finder = PackageFinder([], [])
|
||||
finder = PackageFinder([], [], session=PipSession())
|
||||
for req in parse_requirements(
|
||||
data.reqfiles.join("supported_options.txt"), finder):
|
||||
data.reqfiles.join("supported_options.txt"), finder,
|
||||
session=PipSession()):
|
||||
pass
|
||||
assert finder.use_wheel
|
||||
|
||||
|
@ -203,8 +206,9 @@ def test_req_file_parse_comment_start_of_line(tmpdir):
|
|||
with open(tmpdir.join("req1.txt"), "w") as fp:
|
||||
fp.write("# Comment ")
|
||||
|
||||
finder = PackageFinder([], [])
|
||||
reqs = list(parse_requirements(tmpdir.join("req1.txt"), finder))
|
||||
finder = PackageFinder([], [], session=PipSession())
|
||||
reqs = list(parse_requirements(tmpdir.join("req1.txt"), finder,
|
||||
session=PipSession()))
|
||||
|
||||
assert not reqs
|
||||
|
||||
|
@ -216,8 +220,9 @@ def test_req_file_parse_comment_end_of_line_with_url(tmpdir):
|
|||
with open(tmpdir.join("req1.txt"), "w") as fp:
|
||||
fp.write("https://example.com/foo.tar.gz # Comment ")
|
||||
|
||||
finder = PackageFinder([], [])
|
||||
reqs = list(parse_requirements(tmpdir.join("req1.txt"), finder))
|
||||
finder = PackageFinder([], [], session=PipSession())
|
||||
reqs = list(parse_requirements(tmpdir.join("req1.txt"), finder,
|
||||
session=PipSession()))
|
||||
|
||||
assert len(reqs) == 1
|
||||
assert reqs[0].url == "https://example.com/foo.tar.gz"
|
||||
|
@ -230,8 +235,9 @@ def test_req_file_parse_egginfo_end_of_line_with_url(tmpdir):
|
|||
with open(tmpdir.join("req1.txt"), "w") as fp:
|
||||
fp.write("https://example.com/foo.tar.gz#egg=wat")
|
||||
|
||||
finder = PackageFinder([], [])
|
||||
reqs = list(parse_requirements(tmpdir.join("req1.txt"), finder))
|
||||
finder = PackageFinder([], [], session=PipSession())
|
||||
reqs = list(parse_requirements(tmpdir.join("req1.txt"), finder,
|
||||
session=PipSession()))
|
||||
|
||||
assert len(reqs) == 1
|
||||
assert reqs[0].name == "wat"
|
||||
|
|
Loading…
Reference in New Issue