Skip to content

Commit aae6379

Browse files
author
Noah Gorny
committed
reqfile: Update extra-index-url/index-url in session from requirements file
Also update the relevant tests
1 parent 3d3c7b6 commit aae6379

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

src/pip/_internal/network/session.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,14 @@ def __init__(self, *args, **kwargs):
305305
for host in trusted_hosts:
306306
self.add_trusted_host(host, suppress_logging=True)
307307

308+
def update_index_urls(self, new_index_urls):
309+
# type: (List[str]) -> None
310+
"""
311+
:param new_index_urls: New index urls to update the authentication
312+
handler with.
313+
"""
314+
self.auth.index_urls = new_index_urls
315+
308316
def add_trusted_host(self, host, source=None, suppress_logging=False):
309317
# type: (str, Optional[str], bool) -> None
310318
"""

src/pip/_internal/req/req_file.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,10 @@ def handle_option_line(
256256
value = relative_to_reqs_file
257257
find_links.append(value)
258258

259+
if session:
260+
# We need to update the auth urls in session
261+
session.update_index_urls(index_urls)
262+
259263
search_scope = SearchScope(
260264
find_links=find_links,
261265
index_urls=index_urls,

tests/unit/test_req_file.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -341,17 +341,22 @@ def test_set_finder_no_index(self, line_processor, finder):
341341
line_processor("--no-index", "file", 1, finder=finder)
342342
assert finder.index_urls == []
343343

344-
def test_set_finder_index_url(self, line_processor, finder):
345-
line_processor("--index-url=url", "file", 1, finder=finder)
344+
def test_set_finder_index_url(self, line_processor, finder, session):
345+
line_processor(
346+
"--index-url=url", "file", 1, finder=finder, session=session)
346347
assert finder.index_urls == ['url']
348+
assert session.auth.index_urls == ['url']
347349

348350
def test_set_finder_find_links(self, line_processor, finder):
349351
line_processor("--find-links=url", "file", 1, finder=finder)
350352
assert finder.find_links == ['url']
351353

352-
def test_set_finder_extra_index_urls(self, line_processor, finder):
353-
line_processor("--extra-index-url=url", "file", 1, finder=finder)
354+
def test_set_finder_extra_index_urls(
355+
self, line_processor, finder, session):
356+
line_processor(
357+
"--extra-index-url=url", "file", 1, finder=finder, session=session)
354358
assert finder.index_urls == ['url']
359+
assert session.auth.index_urls == ['url']
355360

356361
def test_set_finder_trusted_host(
357362
self, line_processor, caplog, session, finder

0 commit comments

Comments
 (0)