@@ -573,7 +573,9 @@ def test_open_url_attaches_auth_for_matching_host(self, monkeypatch):
573573 mock_opener = MagicMock ()
574574 def fake_open (req , timeout = None ):
575575 captured ["req" ] = req
576- resp = MagicMock (); resp .__enter__ = lambda s : s ; resp .__exit__ = MagicMock (return_value = False )
576+ resp = MagicMock ()
577+ resp .__enter__ = lambda s : s
578+ resp .__exit__ = MagicMock (return_value = False )
577579 return resp
578580 mock_opener .open .side_effect = fake_open
579581 with patch ("specify_cli.authentication.http.urllib.request.build_opener" , return_value = mock_opener ):
@@ -588,7 +590,9 @@ def test_open_url_no_auth_for_non_matching_host(self, monkeypatch):
588590 captured = {}
589591 def fake_urlopen (req , timeout = None ):
590592 captured ["req" ] = req
591- resp = MagicMock (); resp .__enter__ = lambda s : s ; resp .__exit__ = MagicMock (return_value = False )
593+ resp = MagicMock ()
594+ resp .__enter__ = lambda s : s
595+ resp .__exit__ = MagicMock (return_value = False )
592596 return resp
593597 with patch ("specify_cli.authentication.http.urllib.request.urlopen" , side_effect = fake_urlopen ):
594598 open_url ("https://example.com/file.json" )
@@ -601,7 +605,9 @@ def test_open_url_no_auth_when_no_config(self, monkeypatch):
601605 captured = {}
602606 def fake_urlopen (req , timeout = None ):
603607 captured ["req" ] = req
604- resp = MagicMock (); resp .__enter__ = lambda s : s ; resp .__exit__ = MagicMock (return_value = False )
608+ resp = MagicMock ()
609+ resp .__enter__ = lambda s : s
610+ resp .__exit__ = MagicMock (return_value = False )
605611 return resp
606612 with patch ("specify_cli.authentication.http.urllib.request.urlopen" , side_effect = fake_urlopen ):
607613 open_url ("https://github.com/org/repo" )
@@ -615,12 +621,16 @@ def test_open_url_falls_through_on_401(self, monkeypatch):
615621 self ._set_config (monkeypatch , [_github_entry ()])
616622 call_count = 0
617623 def fake_side_effect (req , timeout = None ):
618- nonlocal call_count ; call_count += 1
624+ nonlocal call_count
625+ call_count += 1
619626 if call_count == 1 :
620627 raise urllib .error .HTTPError ("url" , 401 , "Unauthorized" , {}, None )
621- resp = MagicMock (); resp .__enter__ = lambda s : s ; resp .__exit__ = MagicMock (return_value = False )
628+ resp = MagicMock ()
629+ resp .__enter__ = lambda s : s
630+ resp .__exit__ = MagicMock (return_value = False )
622631 return resp
623- mock_opener = MagicMock (); mock_opener .open .side_effect = fake_side_effect
632+ mock_opener = MagicMock ()
633+ mock_opener .open .side_effect = fake_side_effect
624634 with patch ("specify_cli.authentication.http.urllib.request.build_opener" , return_value = mock_opener ), \
625635 patch ("specify_cli.authentication.http.urllib.request.urlopen" , side_effect = fake_side_effect ):
626636 open_url ("https://github.com/org/repo" )
@@ -692,7 +702,6 @@ def test_config_cached_after_first_load(self, monkeypatch):
692702 """_load_config() should call load_auth_config only once per process."""
693703 from unittest .mock import patch
694704 from specify_cli .authentication import http as _mod
695- from specify_cli .authentication .config import AuthConfigEntry
696705 # Allow the real load path (no override)
697706 monkeypatch .setattr (_mod , "_config_override" , None )
698707 monkeypatch .setattr (_mod , "_config_cache" , None )
@@ -825,8 +834,11 @@ def _capture_request(self):
825834 def side_effect (req , timeout = None ):
826835 captured ["request" ] = req
827836 body = _json .dumps ({"tag_name" : "v9.9.9" }).encode ()
828- resp = MagicMock (); resp .read .return_value = body
829- cm = MagicMock (); cm .__enter__ .return_value = resp ; cm .__exit__ .return_value = False
837+ resp = MagicMock ()
838+ resp .read .return_value = body
839+ cm = MagicMock ()
840+ cm .__enter__ .return_value = resp
841+ cm .__exit__ .return_value = False
830842 return cm
831843 return captured , side_effect
832844
@@ -836,7 +848,8 @@ def test_gh_token_forwarded_when_configured(self, monkeypatch):
836848 monkeypatch .setenv ("GH_TOKEN" , "forwarded-sentinel" )
837849 self ._set_config (monkeypatch , [_github_entry ()])
838850 captured , side_effect = self ._capture_request ()
839- mock_opener = MagicMock (); mock_opener .open .side_effect = side_effect
851+ mock_opener = MagicMock ()
852+ mock_opener .open .side_effect = side_effect
840853 with patch ("specify_cli.authentication.http.urllib.request.build_opener" , return_value = mock_opener ):
841854 _fetch_latest_release_tag ()
842855 assert captured ["request" ].get_header ("Authorization" ) == "Bearer forwarded-sentinel"
0 commit comments