feat(security): servername debounce

This commit is contained in:
2026-09-26 11:25:20 +02:00
parent a8943a78dc
commit d8deab8720
2 changed files with 27 additions and 3 deletions
+14
View File
@@ -1,3 +1,4 @@
import datetime
import logging
import ssl
import subprocess
@@ -27,6 +28,9 @@ class TestRegistry(BaseTestCase):
)
)
self.cert_manager.logger = unittest.mock.Mock(logging.Logger)
self.cert_manager.last_servername = datetime.datetime.now(
tz=datetime.UTC
) - datetime.timedelta(seconds=self.cert_manager.DEBOUCE_SECONDS)
self.context_mock = unittest.mock.Mock(ssl.SSLContext)
self.socket_mock = unittest.mock.Mock(ssl.SSLObject)
unittest.mock.patch("subprocess.check_output")
@@ -183,6 +187,16 @@ class TestRegistry(BaseTestCase):
self.socket_mock, "example.fr", self.context_mock
)
def test_servername_callback_fail_debouce(self) -> None:
self._make_self_signed("example.com")
self.cert_manager.last_servername = datetime.datetime.now(tz=datetime.UTC)
with (
self.patch("ssl.create_default_context", count=0),
):
self.cert_manager.servername_callback(
self.socket_mock, "example.fr", self.context_mock
)
def test_servername_callback_fail_no_binaries(self) -> None:
self._make_self_signed("example.com")
response = requests.Response()