a
}|gR @ s d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ ddlZddlm Z ddl
Z
ddlmZ dd Z
d
d Zejdd
Zdd ZG dd dejZG dd deZedkree
ejdd eg dS )z*Tests for certbot._internal.error_handler. N)Callable)Dict)Union)mock)osc C s dd | D S )z,Get the handlers for an iterable of signums.c S s i | ]}|t |qS )signal getsignal.0sr r N/usr/lib/python3.9/site-packages/certbot/_internal/tests/error_handler_test.py
zget_signals..r )signumsr r r
get_signals s r c C s" | D ]\}}t|| qdS )zDSet the signal (keys) with the handler (values) from the input dict.N)itemsr )Zsig_handler_dictr hr r r
set_signals s r c # s4 g t | }t fdd| D V t| dS )z Context manager to catch signalsc s i | ]}| fd dqS )c s
| S N)append)r _signalsr r
r z,signal_receiver...r r
r r r
r r z#signal_receiver..N)r r )r Z
prev_handlersr r r
signal_receiver s
r c C s t t | dS )zSend the given signalN)r killgetpid)signumr r r
send_signal% s r c @ sH e Zd ZdZdd Zdd Zdd Zdd Zd
d Zdd
Z dd Z
dS )ErrorHandlerTestz7Tests for certbot._internal.error_handler.ErrorHandler.c C sT ddl m} t | _dh| _ddi| _|j| jg| jR i | j| _|j | _
d S )Nr
error_handler* ZfooZbar)certbot._internalr" r MagicMock init_func init_argsinit_kwargsZErrorHandlerhandlerZ_SIGNALSr selfr" r r r
setUp- s
zErrorHandlerTest.setUpc C sl d}z.| j tW d n1 s&0 Y W n tyH d}Y n0 |sRJ | jj| ji | j d S )NFT)r)
ValueErrorr&