pip/tests/unit/test_search_scope.py

40 lines
1.4 KiB
Python

from pip._internal.models.search_scope import SearchScope
from pip._internal.req.constructors import install_req_from_line
class TestSearchScope:
def test_get_formatted_locations_basic_auth(self) -> None:
"""
Test that basic authentication credentials defined in URL
is not included in formatted output.
"""
index_urls = [
"https://pypi.org/simple",
"https://repo-user:repo-pass@repo.domain.com",
]
find_links = ["https://links-user:links-pass@page.domain.com"]
search_scope = SearchScope(
find_links=find_links,
index_urls=index_urls,
)
result = search_scope.get_formatted_locations()
assert "repo-user:****@repo.domain.com" in result
assert "repo-pass" not in result
assert "links-user:****@page.domain.com" in result
assert "links-pass" not in result
def test_get_index_urls_locations(self) -> None:
"""Check that the canonical name is on all indexes"""
search_scope = SearchScope(
find_links=[],
index_urls=["file://index1/", "file://index2"],
)
req = install_req_from_line("Complex_Name")
assert req.name is not None
actual = search_scope.get_index_urls_locations(req.name)
assert actual == [
"file://index1/complex-name/",
"file://index2/complex-name/",
]