Skip to content

Commit b5dd754

Browse files
authored
Fix minimum and maximum version setting
1 parent 65e969d commit b5dd754

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

dev-requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ urllib3
77
trustme
88
requests
99
flaky
10+
httpx

src/truststore/_api.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -215,15 +215,19 @@ def maximum_version(self) -> ssl.TLSVersion:
215215

216216
@maximum_version.setter
217217
def maximum_version(self, value: ssl.TLSVersion) -> None:
218-
self._ctx.maximum_version = value
218+
_original_super_SSLContext.maximum_version.__set__( # type: ignore[attr-defined]
219+
self._ctx, value
220+
)
219221

220222
@property
221223
def minimum_version(self) -> ssl.TLSVersion:
222224
return self._ctx.minimum_version
223225

224226
@minimum_version.setter
225227
def minimum_version(self, value: ssl.TLSVersion) -> None:
226-
self._ctx.minimum_version = value
228+
_original_super_SSLContext.minimum_version.__set__( # type: ignore[attr-defined]
229+
self._ctx, value
230+
)
227231

228232
@property
229233
def options(self) -> ssl.Options:

tests/test_inject.py

+13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import asyncio
22
import ssl
33

4+
import httpx
45
import pytest
56
import requests
67
import urllib3
@@ -106,3 +107,15 @@ def test_requests():
106107

107108
thread = asyncio.to_thread(test_requests)
108109
await thread
110+
111+
112+
@pytest.mark.asyncio
113+
@pytest.mark.usefixtures("inject_truststore")
114+
async def test_sync_httpx_works_with_inject(server: Server) -> None:
115+
def test_httpx():
116+
client = httpx.Client()
117+
resp = client.request("GET", server.base_url)
118+
assert resp.status_code == 200
119+
120+
thread = asyncio.to_thread(test_httpx)
121+
await thread

0 commit comments

Comments
 (0)