Your IP : 216.73.216.172


Current Path : /lib/python3/dist-packages/certbot/tests/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/certbot/tests/__pycache__/error_handler_test.cpython-38.pyc

U

�]��@s�dZddlZddlZddlZddlZddlZddlmZmZm	Z	ddl
mZdd�Zdd�Z
ejd	d
��Zdd�ZGd
d�dej�ZGdd�de�Zedkr�e��dS)z Tests for certbot.error_handler.�N)�Callable�Dict�Union)�oscCstdd�|D��S)z,Get the handlers for an iterable of signums.css|]}|t�|�fVqdS�N)�signal�	getsignal��.0�s�r�B/usr/lib/python3/dist-packages/certbot/tests/error_handler_test.py�	<genexpr>szget_signals.<locals>.<genexpr>)�dict)�signumsrrr
�get_signalssrcCs"|��D]\}}t�||�qdS)zDSet the signal (keys) with the handler (values) from the input dict.N)�itemsr)Zsig_handler_dictr�hrrr
�set_signalssrc#s8g�t|�}tt�fdd�|D����Vt|�dS)z Context manager to catch signalsc3s|]}|�fdd�fVqdS)cs
��|�Sr)�append)r�_��signalsrr
�<lambda> �z+signal_receiver.<locals>.<genexpr>.<lambda>Nrr	rrr
r sz"signal_receiver.<locals>.<genexpr>N)rrr)rZ
prev_handlersrrr
�signal_receivers
rcCst�t��|�dS)zSend the given signalN)r�kill�getpid)�signumrrr
�send_signal%src@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�ErrorHandlerTestz-Tests for certbot.error_handler.ErrorHandler.cCsPddlm}t��|_td�|_ddi|_|j|jf|j�|j�|_	|j
|_dS)Nr��
error_handler)�*ZfooZbar)�certbotr"�mock�	MagicMock�	init_func�set�	init_args�init_kwargsZErrorHandler�handlerZ_SIGNALSr��selfr"rrr
�setUp-s



��zErrorHandlerTest.setUpc	CsXd}z|j�
t�W5QRXWntk
r6d}YnX|�|�|jj|j|j�dS)NFT)r+�
ValueErrorZ
assertTruer'�assert_called_once_withr)r*)r-Zexception_raisedrrr
�test_context_manager:s


�z%ErrorHandlerTest.test_context_managerc
Cs�|js|jdd�t|j�}t|j��2}|j� d}t|jd�|d9}W5QRXW5QRX|�d|�|�|jdg|�|jj|j	|j
�|jD]}|�||t�|��q�dS)N�%Signals cannot be handled on Windows.��reasonr#r�
)
r�skipTestrrr+r�assertEqualr'r0r)r*rr)r-Zinit_signals�signals_receivedZshould_be_42rrrr
� test_context_manager_with_signalFs

�
z1ErrorHandlerTest.test_context_manager_with_signalc	Cshtjtgd�}|j�|�z|j�
t�W5QRXWntk
rHYnX|jj|j|j�|��dS)N�Zside_effect)	r%r&r/r+�registerr'r0r)r*)r-�bad_funcrrr
�test_bad_recoveryZs
�z"ErrorHandlerTest.test_bad_recoveryc
s�|js|jdd�|jd�|jd}tj�fdd�d�}|j�|�t|j�� }|j�t|�W5QRXW5QRX|�|�g|�|j	j
|j|j�|�
�dS)Nr2r3r���cst��Sr)rr�Zsig1rr
rkrz@ErrorHandlerTest.test_bad_recovery_with_signal.<locals>.<lambda>r:)
rr6r%r&r+r;rrr7r'r0r)r*)r-Zsig2r<r8rr?r
�test_bad_recovery_with_signalfs


�z.ErrorHandlerTest.test_bad_recovery_with_signalc	CsHz |j�t�d�W5QRXWntk
r4YnX|�|jj�dS)Nr)r+�sys�exit�
SystemExitZassertFalser'Zcalled)r-rrr
�test_sysexit_ignoredusz%ErrorHandlerTest.test_sysexit_ignoredc	Cs<t��}|j�|�|j�W5QRX|j��|��dSr)r%r&r+r;r'Zassert_not_called�r-�funcrrr
�test_regular_exit}s

z"ErrorHandlerTest.test_regular_exitN)�__name__�
__module__�__qualname__�__doc__r.r1r9r=r@rDrGrrrr
r *s
r cs(eZdZdZ�fdd�Zdd�Z�ZS)�ExitHandlerTestz,Tests for certbot.error_handler.ExitHandler.cs8ddlm}tt|���|j|jf|j�|j�|_	dS)Nrr!)
r$r"�superrLr.ZExitHandlerr'r)r*r+r,��	__class__rr
r.�s
��zExitHandlerTest.setUpc	CsDt��}|j�|�|j�W5QRX|jj|j|j�|��dSr)r%r&r+r;r'r0r)r*rErrr
rG�s

�z!ExitHandlerTest.test_regular_exit)rHrIrJrKr.rG�
__classcell__rrrNr
rL�srL�__main__)rK�
contextlibrrAZunittestr%Zacme.magic_typingrrrZcertbot.compatrrr�contextmanagerrrZTestCaser rLrH�mainrrrr
�<module>s 
	\