Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.112
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
certbot /
tests /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2022-03-20 10:36
display
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
testdata
[ DIR ]
drwxrwxrwx
2022-03-20 10:35
__init__.py
20
B
-rw-r--r--
2018-11-07 22:14
account_test.py
14.36
KB
-rw-r--r--
2018-11-07 22:14
acme_util.py
3.18
KB
-rw-r--r--
2018-11-07 22:14
auth_handler_test.py
23.12
KB
-rw-r--r--
2018-11-07 22:14
cert_manager_test.py
28.09
KB
-rw-r--r--
2018-11-07 22:14
cli_test.py
19.31
KB
-rw-r--r--
2018-11-07 22:14
client_test.py
25.56
KB
-rw-r--r--
2018-11-07 22:14
compat_test.py
736
B
-rw-r--r--
2018-11-07 22:14
configuration_test.py
6.7
KB
-rw-r--r--
2018-11-07 22:14
crypto_util_test.py
13.56
KB
-rw-r--r--
2018-11-07 22:14
eff_test.py
5.94
KB
-rw-r--r--
2018-11-07 22:14
error_handler_test.py
5.31
KB
-rw-r--r--
2018-11-07 22:14
errors_test.py
1.8
KB
-rw-r--r--
2018-11-07 22:14
hook_test.py
16.67
KB
-rw-r--r--
2018-11-07 22:14
lock_test.py
3.84
KB
-rw-r--r--
2018-11-07 22:14
log_test.py
14.92
KB
-rw-r--r--
2018-11-07 22:14
main_test.py
78.7
KB
-rw-r--r--
2018-11-07 22:14
notify_test.py
2.07
KB
-rw-r--r--
2018-11-07 22:14
ocsp_test.py
6.26
KB
-rw-r--r--
2018-11-07 22:14
renewal_test.py
4.18
KB
-rw-r--r--
2020-09-26 20:25
renewupdater_test.py
5.33
KB
-rw-r--r--
2018-11-07 22:14
reporter_test.py
2.73
KB
-rw-r--r--
2018-11-07 22:14
reverter_test.py
18.7
KB
-rw-r--r--
2018-11-07 22:14
storage_test.py
41.53
KB
-rw-r--r--
2018-11-07 22:14
util.py
14.02
KB
-rw-r--r--
2018-11-07 22:14
util_test.py
21.29
KB
-rw-r--r--
2018-11-07 22:14
Save
Rename
"""Tests for certbot.error_handler.""" import contextlib import os import signal import sys import unittest import mock # pylint: disable=unused-import, no-name-in-module from acme.magic_typing import Callable, Dict, Union # pylint: enable=unused-import, no-name-in-module import certbot.tests.util as test_util def get_signals(signums): """Get the handlers for an iterable of signums.""" return dict((s, signal.getsignal(s)) for s in signums) def set_signals(sig_handler_dict): """Set the signal (keys) with the handler (values) from the input dict.""" for s, h in sig_handler_dict.items(): signal.signal(s, h) @contextlib.contextmanager def signal_receiver(signums): """Context manager to catch signals""" signals = [] prev_handlers = get_signals(signums) # type: Dict[int, Union[int, None, Callable]] set_signals(dict((s, lambda s, _: signals.append(s)) for s in signums)) yield signals set_signals(prev_handlers) def send_signal(signum): """Send the given signal""" os.kill(os.getpid(), signum) class ErrorHandlerTest(unittest.TestCase): """Tests for certbot.error_handler.ErrorHandler.""" def setUp(self): from certbot import error_handler self.init_func = mock.MagicMock() self.init_args = set((42,)) self.init_kwargs = {'foo': 'bar'} self.handler = error_handler.ErrorHandler(self.init_func, *self.init_args, **self.init_kwargs) # pylint: disable=protected-access self.signals = error_handler._SIGNALS def test_context_manager(self): exception_raised = False try: with self.handler: raise ValueError except ValueError: exception_raised = True self.assertTrue(exception_raised) self.init_func.assert_called_once_with(*self.init_args, **self.init_kwargs) # On Windows, this test kills pytest itself ! @test_util.broken_on_windows def test_context_manager_with_signal(self): init_signals = get_signals(self.signals) with signal_receiver(self.signals) as signals_received: with self.handler: should_be_42 = 42 send_signal(self.signals[0]) should_be_42 *= 10 # check execution stoped when the signal was sent self.assertEqual(42, should_be_42) # assert signals were caught self.assertEqual([self.signals[0]], signals_received) # assert the error handling function was just called once self.init_func.assert_called_once_with(*self.init_args, **self.init_kwargs) for signum in self.signals: self.assertEqual(init_signals[signum], signal.getsignal(signum)) def test_bad_recovery(self): bad_func = mock.MagicMock(side_effect=[ValueError]) self.handler.register(bad_func) try: with self.handler: raise ValueError except ValueError: pass self.init_func.assert_called_once_with(*self.init_args, **self.init_kwargs) bad_func.assert_called_once_with() # On Windows, this test kills pytest itself ! @test_util.broken_on_windows def test_bad_recovery_with_signal(self): sig1 = self.signals[0] sig2 = self.signals[-1] bad_func = mock.MagicMock(side_effect=lambda: send_signal(sig1)) self.handler.register(bad_func) with signal_receiver(self.signals) as signals_received: with self.handler: send_signal(sig2) self.assertEqual([sig2, sig1], signals_received) self.init_func.assert_called_once_with(*self.init_args, **self.init_kwargs) bad_func.assert_called_once_with() def test_sysexit_ignored(self): try: with self.handler: sys.exit(0) except SystemExit: pass self.assertFalse(self.init_func.called) def test_regular_exit(self): func = mock.MagicMock() self.handler.register(func) with self.handler: pass self.init_func.assert_not_called() func.assert_not_called() class ExitHandlerTest(ErrorHandlerTest): """Tests for certbot.error_handler.ExitHandler.""" def setUp(self): from certbot import error_handler super(ExitHandlerTest, self).setUp() self.handler = error_handler.ExitHandler(self.init_func, *self.init_args, **self.init_kwargs) def test_regular_exit(self): func = mock.MagicMock() self.handler.register(func) with self.handler: pass self.init_func.assert_called_once_with(*self.init_args, **self.init_kwargs) func.assert_called_once_with() # On Windows, this test kills pytest itself ! @test_util.broken_on_windows def test_bad_recovery_with_signal(self): super(ExitHandlerTest, self).test_bad_recovery_with_signal() if __name__ == "__main__": unittest.main() # pragma: no cover