feat(security): servername debounce
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user