File tree Expand file tree Collapse file tree 3 files changed +22
-1
lines changed
Expand file tree Collapse file tree 3 files changed +22
-1
lines changed Original file line number Diff line number Diff line change 2424
2525def get_netrc_auth (url , netrc ):
2626 """
27- Return login and password if the hostname is in netrc
27+ Return login and password if either the hostname is in netrc or a default is set in netrc
2828 else return login and password as None
2929 """
3030 hostname = urlparse (url ).hostname
@@ -33,6 +33,11 @@ def get_netrc_auth(url, netrc):
3333 url_auth = hosts .get (hostname )
3434 # netrc returns a tuple of (login, account, password)
3535 return (url_auth [0 ], url_auth [2 ])
36+
37+ if "default" in hosts :
38+ default_auth = hosts .get ("default" )
39+ return (default_auth [0 ], default_auth [2 ])
40+
3641 return (None , None )
3742
3843
Original file line number Diff line number Diff line change 1+ machine example.com login test password test123
2+ default login defaultuser password defaultpass
Original file line number Diff line number Diff line change @@ -82,6 +82,20 @@ def test_get_netrc_auth_with_with_subdomains():
8282 )
8383
8484
85+ def test_get_netrc_auth_with_default ():
86+ netrc_file = test_env .get_test_loc ("test-default.netrc" )
87+ parsed_netrc = netrc (netrc_file )
88+
89+ assert get_netrc_auth (url = "https://example.com/simple" , netrc = parsed_netrc ) == (
90+ "test" ,
91+ "test123" ,
92+ )
93+ assert get_netrc_auth (url = "https://non-existing.org/simple" , netrc = parsed_netrc ) == (
94+ "defaultuser" ,
95+ "defaultpass" ,
96+ )
97+
98+
8599@pytest .mark .asyncio
86100@pytest .mark .skipif (sys .version_info < (3 , 8 ), reason = "requires python3.8 or higher" )
87101@mock .patch ("python_inspector.utils_pypi.CACHE.get" )
You can’t perform that action at this time.
0 commit comments