JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/certbot/_internal/tests/__pycache__/log_test.cpython-39.opt-1.pyc

a

}|�gM>�@sxdZddlZddlZddlZddlZddlZddlmZddlZddlm	Z	ddl
Z
ddlmZddl
mZddl
mZddlmZdd	lmZdd
lmZddlmZGdd�dej�ZGd
d�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Z Gdd�dej!�Z"e#dk�rte�$e
�%ej&dd�e'g��dS)z Tests for certbot._internal.log.�N)�Optional)�mock)�messages)�errors)�util)�	constants)�
filesystem)�oscs\eZdZdZedd��Z�fdd�Ze�d�e�d�e�d�e�d	�d
d�����Z	�Z
S)�PreArgParseSetupTestz4Tests for certbot._internal.log.pre_arg_parse_setup.cOsddlm}|�S)Nr)�pre_arg_parse_setup)�certbot._internal.logr)�cls�args�kwargsr�r�D/usr/lib/python3.9/site-packages/certbot/_internal/tests/log_test.py�_callszPreArgParseSetupTest._callcst��t���dS�N)�logging�shutdown�super�tearDown��self��	__class__rrrszPreArgParseSetupTest.tearDown�certbot._internal.log.sysz/certbot._internal.log.pre_arg_parse_except_hook�'certbot._internal.log.logging.getLoggerz*certbot._internal.log.util.atexit_registerc
	Cs�dg|_tj|_|��|�}|j�tj�d}|jj	D]2}|dd}|dur8t
|tjj�r8|}|j
}	q8q8|�tj�|�ddd�|j|dddddtjd�dS)	Nz--debugr���TF��debug�quiet�log_path)�argv�sys�version_infor�setLevel�assert_called_once_withr�DEBUG�
addHandlerZcall_args_list�
isinstance�handlers�
MemoryHandler�targetr�
excepthookr�ANY)
rZ
mock_registerZmock_get�mock_except_hook�mock_sysZmock_root_logger�memory_handler�call�handlerr/rrr�test_it$s"�zPreArgParseSetupTest.test_it)�__name__�
__module__�__qualname__�__doc__�classmethodrrr�patchr7�
__classcell__rrrrr
s
r
csPeZdZdZedd��Z�fdd�Z�fdd�Zdd	�Zd
d�Z	dd
�Z
�ZS)�PostArgParseSetupTestz5Tests for certbot._internal.log.post_arg_parse_setup.cOsddlm}||i|��S)Nr)�post_arg_parse_setup)rr@)r
rrr@rrrrDszPostArgParseSetupTest._callcs�t���d|j_d|j_d|j_tjd|j_t	t
jd�|_ddlm
}|t���|_ddlm}ddlm}|�|_|jj|_||j�|_tj|j|jgd	�|_dS)
NFi��
verbose_count�wr��ColoredStreamHandler�r.��TempHandler)r-)r�setUp�configr"�max_log_backupsr#rZCLI_DEFAULTSrA�openr	�devnullrrD�io�StringIO�stream_handlerr.rG�temp_handler�pathZ	temp_pathr4r�	MagicMock�root_logger)rrDr.rGrrrrHIs 


�zPostArgParseSetupTest.setUpcs6|j��|j��|j��|j��t���dSr)r4�closerOrPrLrrrrrrr[s




zPostArgParseSetupTest.tearDownc
Cst�d���}|j|_d}t�|��N}t�d��$}tj|_|�|j�Wd�n1sX0YWd�n1sv0YWd�n1s�0Ytj	�
|jjd�}|jj�
|j�|�ddd�|j
ddd|jj|jj|d�|jj}|jjr�ndS)	Nr�0certbot._internal.log.post_arg_parse_except_hookrzletsencrypt.logrrr r!)rr=rSZreturn_valuer&r'rrIr	rQ�join�logs_dirZ
removeHandlerr)r4r0r"r#rO�level)rZmock_get_loggerZexcept_hook_pathr2r3r$rXrrr�test_commonbs(f��z!PostArgParseSetupTest.test_commoncCsd|j_|��dS�NT)rIr"rYrrrr�
test_debug}sz PostArgParseSetupTest.test_debugcCsd|j_|��dSrZ)rIr#rYrrrr�
test_quiet�sz PostArgParseSetupTest.test_quiet)r8r9r:r;r<rrHrrYr[r\r>rrrrr?As
r?csheZdZdZedd��Z�fdd�Ze�d�dd��Z	d	d
�Z
dd�Zd
d�Ze�d�dd��Z
�ZS)�SetupLogFileHandlerTestz7Tests for certbot._internal.log.setup_log_file_handler.cOsddlm}||i|��S)Nr)�setup_log_file_handler)rr^)r
rrr^rrrr�szSetupLogFileHandlerTest._callcst���d|j_dS)N�*)rrHrIrJrrrrrH�s
zSetupLogFileHandlerTest.setUpz;certbot._internal.main.logging.handlers.RotatingFileHandlerc
CsPt|_z|�|jdd�Wn&tjy@}zWYd}~nd}~00|�d�dS)N�test.log�%(message)szError not raised.)�IOError�side_effectrrIr�Error�fail)r�mock_handler�errrrr�test_failure�sz$SetupLogFileHandlerTest.test_failurecCs|jdd�dS)NT��should_rollover)�_test_success_commonrrrr�test_success_with_rollover�sz2SetupLogFileHandlerTest.test_success_with_rollovercCsd|j_|jdd�dS)NrFri)rIrJrkrrrr�test_success_without_rollover�sz5SetupLogFileHandlerTest.test_success_without_rollovercCsLd}|�|j|d�\}}|��tj�|jj|�}tj�|jj|d�}dS)Nr`raz.1)rrIrTr	rQrVrW)rrj�log_filer6r$Z
expected_pathZbackup_pathrrrrk�sz,SetupLogFileHandlerTest._test_success_commonz:certbot._internal.log.logging.handlers.RotatingFileHandlercCs"|�|jdd�|jdd}dS)Nr`rarZbackupCount)rrI�	call_args)rrfZbackup_countrrr�test_max_log_backups_used�sz1SetupLogFileHandlerTest.test_max_log_backups_used)r8r9r:r;r<rrHrr=rhrlrmrkrpr>rrrrr]�s


r]c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�ColoredStreamHandlerTestz4Tests for certbot._internal.log.ColoredStreamHandlercCsXt��|_dd�|j_t��|_|j�tj�ddl	m
}||j�|_|j�|j�dS)NcSsdSrZrrrrr�<lambda>��z0ColoredStreamHandlerTest.setUp.<locals>.<lambda>rrC)
rMrN�stream�isattyr�	getLogger�loggerr(r*rrDr6r+)rrDrrrrH�s

zColoredStreamHandlerTest.setUpcCs|j��dSr�r6rTrrrrr�sz!ColoredStreamHandlerTest.tearDowncCsd}|j�|�dS)Nz
I did a thing)rwr"�r�msgrrr�test_format�sz$ColoredStreamHandlerTest.test_formatcCsd}tj|j_|j�|�dS)NzI did another thing)rr*r6Z	red_levelrwr"ryrrr�test_format_and_red_level�s
z2ColoredStreamHandlerTest.test_format_and_red_levelN)r8r9r:r;rHrr{r|rrrrrq�s

rqc@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�MemoryHandlerTestz-Tests for certbot._internal.log.MemoryHandlercCsbt�t�|_|j�tj�d|_t��|_	t�
|j	�|_ddlm
}||j�|_|j�|j�dS)Nzhi thererrE)rrvr8rwr(r*rzrMrNrt�
StreamHandlerrOrr.r6r+)rr.rrrrH�s
zMemoryHandlerTest.setUpcCs|j��|j��dSr)r6rTrOrrrrr�s
zMemoryHandlerTest.tearDowncCs|��|jjdd�dS�NT��force)�_test_log_debugr6�flushrrrr�
test_flush�szMemoryHandlerTest.test_flushcCs|j�|j�|j��dSr)rwZcriticalrzr6r�rrrr�test_not_flushed�s
z"MemoryHandlerTest.test_not_flushedcCs@|��t��}t�|�}|j�|�|jjdd�|��dSr)	r�rMrNrr~r6Z	setTargetr�rT)rZ
new_streamZnew_stream_handlerrrr�test_target_reset�s
z#MemoryHandlerTest.test_target_resetcCs|j�|j�dSr)rwr"rzrrrrr�sz!MemoryHandlerTest._test_log_debugN)
r8r9r:r;rHrr�r�r�r�rrrrr}�sr}c@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�TempHandlerTestz,Tests for certbot._internal.log.TempHandler.cCsd|_ddlm}|�|_dS)NFrrF)�closedrrGr6)rrGrrrrHszTempHandlerTest.setUpcCs|j��dSrrxrrrrrszTempHandlerTest.tearDowncCsdSrrrrrr�test_permissionssz TempHandlerTest.test_permissionscCs|j��dSrrxrrrr�test_deletes
zTempHandlerTest.test_deletecCs,|j�t���|j��t�|jj�dSr)r6�emitrrRrTr	�removerQrrrr�test_no_deletes
zTempHandlerTest.test_no_deleteN)	r8r9r:r;rHrr�r�r�rrrrr�sr�c@s.eZdZdZedd��Ze�d�dd��ZdS)�PreArgParseExceptHookTestz:Tests for certbot._internal.log.pre_arg_parse_except_hook.cOsddlm}||i|��S)Nr)�pre_arg_parse_except_hook)rr�)r
rrr�rrrrszPreArgParseExceptHookTest._callrUcCsNt��}d}ddi}|j|g|�Ri|��|j|i|��|jjdd�dS)N)�somerr�rTr�)rrRrr)r�)rZmock_post_arg_parse_except_hookr4rrrrrr7#s��z!PreArgParseExceptHookTest.test_itN)	r8r9r:r;r<rrr=r7rrrrr�s

r�c@s~eZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
ddd�Zdd�Zdd�Zdd�ZdS)�PostArgParseExceptHookTestz;Tests for certbot._internal.log.post_arg_parse_except_hook.cOsddlm}||i|��S)Nr)�post_arg_parse_except_hook)rr�)r
rrr�rrrr2sz PostArgParseExceptHookTest._callcCsd|_d|_dS)Nztest error messagezfoo.log)�	error_msgr$rrrrrH7sz PostArgParseExceptHookTest.setUpcCs2t}|j|dd�\}}|�|j|�|�|�dS�NF�r")�
BaseException�_test_common�_assert_exception_logged�error�_assert_logfile_output�r�exc_type�mock_logger�outputrrr�test_base_exception;sz.PostArgParseExceptHookTest.test_base_exceptioncCs2t}|j|dd�\}}|�|j|�|�|�dS)NTr�)�
ValueErrorr�r�r�r�r�rrrr[Asz%PostArgParseExceptHookTest.test_debugcCs*t}|j|ddd�\}}|�|j|�dS)NT)r"r#)r�r�r�r�r�rrrr\Gsz%PostArgParseExceptHookTest.test_quietcCs6tj}|j|dd�\}}|�|j|�|�||�dSr�)rZPluginErrorr�r�r"�_assert_quiet_outputr�rrr�test_custom_errorMsz,PostArgParseExceptHookTest.test_custom_errorcsLtttj����fdd�}|j|dd�\}}|�|jtj�|�||�dS)Ncstjj�|d�S)z6Wraps ACME errors so the constructor takes only a msg.)Zdetail)rrdZ	with_code)rz�Z	acme_coderr�get_acme_errorWszBPostArgParseExceptHookTest.test_acme_error.<locals>.get_acme_errorFr�)	�next�iterrZERROR_CODESr�r�r"rdr�)rr�r�r�rr�r�test_acme_errorSsz*PostArgParseExceptHookTest.test_acme_errorcCs4t}|j|dd�\}}|�|j|�|�||�dSr�)r�r�r�r"r�r�rrr�test_other_error`sz+PostArgParseExceptHookTest.test_other_errorcCs&t}|j|dd�\}}|j�d�dS)NFr�zExiting due to user request.)�KeyboardInterruptr�r�r)r�rrr�test_keyboardinterruptfsz1PostArgParseExceptHookTest.test_keyboardinterruptFc	st����fdd�}z||j��Wn�ty�t��}t�d���}||j_	t�d���hz|j
||||jd��Wn2ty�}z��
t|��WYd}~nd}~00|�d�Wd�n1s�0YWd�n1s�0YYn0���}||fS)z,Returns the mocked logger and stderr output.cs��|d�dS)zWrite error to mock_err.rN)�write)rZ
unused_kwargs�Zmock_errrr�	write_errosz:PostArgParseExceptHookTest._test_common.<locals>.write_errzcertbot._internal.log.loggerz certbot._internal.log.sys.stderrr!NzSystemExit not raised.)rMrNr�r�r&�exc_inforr=r�rcrr$�
SystemExitr��strre�getvalue)	rZ
error_typer"r#r�r�r�Zexit_errr�rr�rr�ks$
�$Lz'PostArgParseExceptHookTest._test_commoncCs$|jd}|d}|tjtjf}dS)Nrr�)rorr1)rZlog_funcr�Zcall_kwargsZactual_exc_infoZexpected_exc_inforrrr��s
z3PostArgParseExceptHookTest._assert_exception_loggedcCsdSrr)rr�rrrr��sz1PostArgParseExceptHookTest._assert_logfile_outputcCsdSrr)rr�r�rrrr��sz/PostArgParseExceptHookTest._assert_quiet_outputN)F)r8r9r:r;r<rrHr�r[r\r�r�r�r�r�r�r�r�rrrrr�0s


	r�c@s4eZdZdZedd��Zdd�Zdd�Zdd	�Zd
S)�ExitWithAdviceTestz1Tests for certbot._internal.log.exit_with_advice.cOsddlm}||i|��S)Nr)�exit_with_advice)rr�)r
rrr�rrrr�szExitWithAdviceTest._callcCs,tj�|jd�}t|d���|�|�}dS)Nr`rB)r	rQrV�tempdirrKrTr�)rrn�err_strrrr�
test_log_file�s
z ExitWithAdviceTest.test_log_filecCs|�|j�}dSr)r�r�)rr�rrr�test_log_dir�szExitWithAdviceTest.test_log_dirc
OsPz|j|i|��Wn,ty@}zt|�WYd}~Sd}~00|�d�dS)NzSystemExit was not raised.)rr�r�re)rrrrgrrrr��s
zExitWithAdviceTest._test_commonN)	r8r9r:r;r<rr�r�r�rrrrr��s
r��__main__r)(r;rMrZlogging.handlersr&�time�typingrZunittestrZpytestZacmerZcertbotrrZcertbot._internalrZcertbot.compatrr	Z
certbot.testsZ	test_utilZTestCaser
ZConfigTestCaser?r]rqr}r�r�r�ZTempDirTestCaser�r8�exit�mainr%�__file__rrrr�<module>s6+E3 +h

Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg