@@ -110,6 +110,7 @@ def test_detect_openssl_versions(monkeypatch: pytest.MonkeyPatch) -> None:
110110 """Test OpenSSL version detection from GitHub releases."""
111111 mock_html = """
112112 <html>
113+ <a href="/openssl/openssl/releases/tag/openssl-3.6.1">openssl-3.6.1</a>
113114 <a href="/openssl/openssl/releases/tag/openssl-3.5.4">openssl-3.5.4</a>
114115 <a href="/openssl/openssl/releases/tag/openssl-3.5.3">openssl-3.5.3</a>
115116 <a href="/openssl/openssl/releases/tag/openssl-3.4.0">openssl-3.4.0</a>
@@ -120,14 +121,31 @@ def fake_fetch(url: str) -> str:
120121 return mock_html
121122
122123 monkeypatch .setattr (pyversions , "fetch_url_content" , fake_fetch )
124+
125+ # Test with pin "3.5" (current setting)
126+ monkeypatch .setitem (pyversions .PINNED_VERSIONS , "openssl" , "3.5" )
123127 versions = pyversions .detect_openssl_versions ()
124- assert isinstance (versions , list )
125128 assert "3.5.4" in versions
126129 assert "3.5.3" in versions
127- assert "3.4.0" in versions
128- # Verify sorting (latest first)
130+ assert "3.6.1" not in versions
131+ assert "3.4.0" not in versions
129132 assert versions [0 ] == "3.5.4"
130133
134+ # Test with different pin
135+ monkeypatch .setitem (pyversions .PINNED_VERSIONS , "openssl" , "3.4" )
136+ versions = pyversions .detect_openssl_versions ()
137+ assert "3.4.0" in versions
138+ assert "3.5.4" not in versions
139+ assert "3.6.1" not in versions
140+
141+ # Test with no pin
142+ monkeypatch .delitem (pyversions .PINNED_VERSIONS , "openssl" )
143+ versions = pyversions .detect_openssl_versions ()
144+ assert "3.6.1" in versions
145+ assert "3.5.4" in versions
146+ assert "3.4.0" in versions
147+ assert versions [0 ] == "3.6.1"
148+
131149
132150def test_detect_sqlite_versions (monkeypatch : pytest .MonkeyPatch ) -> None :
133151 """Test SQLite version detection from sqlite.org."""
0 commit comments