JFIF$        dd7 

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

a

}|�g�7�@sdZddlZddlZddlZddlmZddlZddlZddlZddl	m
Z
ddlmZddl
mZddl
mZddl
mZddlmmZej�e�d	��ZGd
d�dej�ZGdd
�d
ej�ZGdd�dej�ZGdd�dej�Zedk�re� e�!ej"dd�e#g��dS)z$Tests for certbot._internal.account.�N)�mock)�messages)�errors)�
filesystem)�misc)�oszrsa512_key.pemc@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�AccountTestz,Tests for certbot._internal.account.Account.cCs�ddlm}t��|_|jdtjddddddtjd	�d
�|_	||jt
|j	�|_tjdd�|j_t�
d
��^}d|j_t�
d��,}|j	j|jj_||jt
�|_Wd�n1s�0YWd�n1s�0YdS)Nr��Accountztest.certbot.orgi�����
�Ztzinfo��
creation_host�creation_dtZi_am_a_regr)�return_valuez certbot._internal.account.socketz"certbot._internal.account.datetime)�certbot._internal.accountr
r�	MagicMock�regr�Meta�datetime�pytz�UTC�meta�KEY�acc�__repr__�patchZgetfqdnrrZnow�acc_no_meta)�selfr
Zmock_socketZmock_dt�r"�H/usr/lib/python3.9/site-packages/certbot/_internal/tests/account_test.py�setUps
��zAccountTest.setUpcCs8|j|jjksJ�t|jjks"J�|j|jjks4J�dS�N)rrr�keyrr �r!r"r"r#�	test_init(szAccountTest.test_initcCs|jjdksJ�dS)NZ 7adac10320f585ddf118429c0c4af2cd)r�idr'r"r"r#�test_id-szAccountTest.test_idcCs|jjdksJ�dS)Nz,test.certbot.org@2015-07-04T14:04:10Z (7ada))rZslugr'r"r"r#�	test_slug0szAccountTest.test_slugcCst|j��d�sJ�dS)Nz=<Account(i_am_a_regr, 7adac10320f585ddf118429c0c4af2cd, Meta()�reprr�
startswithr'r"r"r#�	test_repr3s
�zAccountTest.test_reprN)	�__name__�
__module__�__qualname__�__doc__r$r(r*r+r.r"r"r"r#rsrc@s eZdZdZdd�Zdd�ZdS)�MetaTestz)Tests for certbot._internal.account.Meta.cCsFddlm}|j�d�}|jdus&J�|jdus4J�|jdusBJ�dS)Nrr	zU{   "creation_dt": "2020-06-13T07:46:45Z",   "creation_host": "hyperion.localdomain"}�rr
rZ
json_loadsrrZregister_to_eff�r!r
rr"r"r#�test_deserialize_partial:s�z!MetaTest.test_deserialize_partialcCsFddlm}|j�d�}|jdus&J�|jdus4J�|jdusBJ�dS)Nrr	zq{   "creation_dt": "2020-06-13T07:46:45Z",   "creation_host": "hyperion.localdomain",   "register_to_eff": "bar"}r4r5r"r"r#�test_deserialize_fullEs�zMetaTest.test_deserialize_fullN)r/r0r1r2r6r7r"r"r"r#r38sr3c@s eZdZdZdd�Zdd�ZdS)�AccountMemoryStorageTestz9Tests for certbot._internal.account.AccountMemoryStorage.cCsddlm}|�|_dS)Nr)�AccountMemoryStorage)rr9�storage)r!r9r"r"r#r$UszAccountMemoryStorageTest.setUpcCs�tjdd�}g|j��ksJ�t�tj��|j�d�Wd�n1sL0Y|j�	|d�|g|j��ksxJ�||j�d�ks�J�|j�	|d�|g|j��ks�J�dS)N�x)r))
rZMockr:�find_all�pytest�raisesr�AccountNotFound�load�save)r!�accountr"r"r#�test_itYs*z AccountMemoryStorageTest.test_itN)r/r0r1r2r$rCr"r"r"r#r8Rsr8cseZdZdZ�fdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Ze�d$�d%d&��Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Z d9d:�Z!d;d<�Z"d=d>�Z#d?d@�Z$�Z%S)A�AccountFileStorageTestz7Tests for certbot._internal.account.AccountFileStorage.cs~t���ddlm}||j�|_ddlm}|jdtjddddd	d
t	j
d�d�}|tjdt�
�d
�t|d�|_t��|_dS)Nr��AccountFileStorager	ztest.example.orgi���r
rrrr)Zuri�body)rr&r)�superr$rrF�configr:r
rrrrrZRegistrationResourceZRegistrationrrrr�mock_client)r!rFr
r��	__class__r"r#r$hs$
����zAccountFileStorageTest.setUpcCstj�t�|jj��sJ�dSr%)r�path�isdirrZ.underscores_for_unsupported_characters_in_pathrK�accounts_dirr'r"r"r#�test_init_creates_dirzs�z,AccountFileStorageTest.test_init_creates_dircCs�|j�|j|j�tj�|jj|jj	�}tj�
|�s8J�dD]}tj�
tj�||��s<J�q<t�tj�|d�d�svJ�|j�
|jj	�}|j|ks�J�dS)N)�	regr.json�	meta.json�private_key.jsonrU�)r:rArrLrrO�joinrKrQr)�existsrZ
check_moder@)r!�account_path�	file_nameZloadedr"r"r#�test_save_and_restore~s�
z,AccountFileStorageTest.test_save_and_restorecCs�|j�|j�tj�|jj|jj�}tj�	|�s4J�tj�	tj�|d��sNJ�tj�	tj�|d��rhJ�tj�	tj�|d��r�J�dS)NrSrTrU)
r:Zupdate_regrrrrOrWrKrQr)rX�r!rYr"r"r#�test_update_regr�sz'AccountFileStorageTest.test_update_regrcCs�|j�|j�tj�|jj|jj�}tj�	|�s4J�tj�	tj�|d��sNJ�tj�	tj�|d��rhJ�tj�	tj�|d��r�J�dS)NrTrSrU)
r:Zupdate_metarrrOrWrKrQr)rXr\r"r"r#�test_update_meta�sz'AccountFileStorageTest.test_update_metacCs,|j�|j|j�|jg|j��ks(J�dSr%)r:rArrLr<r'r"r"r#�
test_find_all�sz$AccountFileStorageTest.test_find_allcCsg|j��ksJ�dSr%)r:r<r'r"r"r#�test_find_all_none_empty_list�sz4AccountFileStorageTest.test_find_all_none_empty_listcCs$t�|jj�g|j��ks J�dSr%)r�rmdirrKrQr:r<r'r"r"r#�!test_find_all_accounts_dir_absent�sz8AccountFileStorageTest.test_find_all_accounts_dir_absentcCsftjdtjdgd�|j_t�d��0}gd�|_ddg|j��ksDJ�Wd�n1sX0YdS)Nr;�z��side_effectz$certbot._internal.account.os.listdir)r;�yrc)	rrr�AccountStorageErrorr:�_load_for_server_pathrrr<)r!Zmock_listdirr"r"r#�test_find_all_load_skips�s
�

z/AccountFileStorageTest.test_find_all_load_skipscCs<t�tj��|j�d�Wd�n1s.0YdS)N�missing)r=r>rr?r:r@r'r"r"r#�#test_load_non_existent_raises_error�sz:AccountFileStorageTest.test_load_non_existent_raises_errorcCs$||j_ddlm}||j�|_dS)NrrE)rK�serverrrFr:)r!rlrFr"r"r#�_set_server�sz"AccountFileStorageTest._set_servercCsF|�d�g|j��ksJ�g|j��ks.J�tj�|jj�rBJ�dS�N�6https://acme-staging-v02.api.letsencrypt.org/directory)rmr:r<rrO�islinkrKrQr'r"r"r#�test_find_all_neither_exists�s
z3AccountFileStorageTest.test_find_all_neither_existscCs�|�d�g|j��ksJ�|j�|j|j�|jg|j��ksDJ�|jg|j��ksZJ�tj�|j	j
�rnJ�d}tj�|j	�|��r�J�dS�Nro�2https://acme-staging.api.letsencrypt.org/directory)
rmr:r<rArrLrrOrprKrQrP�accounts_dir_for_server_path�r!Zprev_server_pathr"r"r#�test_find_all_find_before_save�s
z5AccountFileStorageTest.test_find_all_find_before_savecCs�|�d�|j�|j|j�|jg|j��ks2J�|jg|j��ksHJ�tj�|j	j
�r\J�tj�|j	j
�spJ�d}tj�|j	�|��r�J�dSrr)
rmr:rArrLr<rrOrprKrQrPrtrur"r"r#�test_find_all_save_before_find�s
z5AccountFileStorageTest.test_find_all_save_before_findcCsd|�d�g|j��ksJ�|j�|j|j�|jg|j��ksDJ�|�d�g|j��ks`J�dSrr)rmr:r<rArrLr'r"r"r#�test_find_all_server_downgrade�s

z5AccountFileStorageTest.test_find_all_server_downgradecCs@|�d�|j�|j|j�|�d�|jg|j��ks<J�dS�Nrsro�rmr:rArrLr<r'r"r"r#�test_upgrade_version_staging�s

z3AccountFileStorageTest.test_upgrade_version_stagingcCs@|�d�|j�|j|j�|�d�|jg|j��ks<J�dS)Nz.https://acme-v01.api.letsencrypt.org/directoryz.https://acme-v02.api.letsencrypt.org/directoryrzr'r"r"r#�test_upgrade_version_production�s

z6AccountFileStorageTest.test_upgrade_version_productionzcertbot.compat.os.rmdircCsT|�d�|j�|j|j�t|_tjt	j
d�|j_|�d�g|j��ksPJ�dS)Nrsrdro)
rmr:rArrL�OSErrorrerrrrgrhr<)r!Z
mock_rmdirr"r"r#�test_corrupted_account�s
�

z-AccountFileStorageTest.test_corrupted_accountcCsV|�d�|j�|j|j�|j�|jj�}|�d�|j�|jj�}||ksRJ�dSry)rmr:rArrLr@r)�r!Zprev_accountrBr"r"r#�test_upgrade_load�s

z(AccountFileStorageTest.test_upgrade_loadcCsV|�d�|j�|j|j�|j�|jj�}|�d�|j�|jj�}||ksRJ�dSry)rmr:rArrLr@r)�_set_server_and_stop_symlinkrr"r"r#� test_upgrade_load_single_account�s

z7AccountFileStorageTest.test_upgrade_load_single_accountc	Cs�|j�|j|j�t��}t|_t�d|��Lt	�
tj�� |j�
|jj�Wd�n1s`0YWd�n1s~0YdS�Nz
builtins.open)r:rArrLr�	mock_open�IOErrorrerr=r>rrgr@r)�r!r�r"r"r#�test_load_ioerrorsz(AccountFileStorageTest.test_load_ioerrorc	Cs|t��}t|_t�d|��Nt�tj��"|j	�
|j|j�Wd�n1sP0YWd�n1sn0YdSr�)
rr�r�rerr=r>rrgr:rArrLr�r"r"r#�test_save_ioerrorss
z)AccountFileStorageTest.test_save_ioerrorscCsb|j�|j|j�|j�|jj�t�tj	�� |j�
|jj�Wd�n1sT0YdSr%)r:rArrL�deleter)r=r>rr?r@r'r"r"r#�test_deletesz"AccountFileStorageTest.test_deletecCs@t�tj�� |j�|jj�Wd�n1s20YdSr%)r=r>rr?r:r�rr)r'r"r"r#�test_delete_no_accountsz-AccountFileStorageTest.test_delete_no_accountc	Cs�|�d�|j�|j|j�t�di��V|�d�t�t	j
�� |j�|jj�Wd�n1sf0YWd�n1s�0YdS)Nrsz,certbot._internal.constants.LE_REUSE_SERVERSro)
rmr:rArrLrrr=r>rr?r@r)r'r"r"r#�!_assert_symlinked_account_removeds

z8AccountFileStorageTest._assert_symlinked_account_removedcCs�|�d�|j�|j|j�|�d�|j�|jj�|�|�|j�|jj�|�d�t�	t
j�� |j�|jj�Wd�n1s�0Y|�d�t�	t
j�� |j�|jj�Wd�n1s�0YdSry)rmr:rArrLr@r)r�r=r>rr?)r!Z
server_urlr"r"r#�_test_delete_folders's



.
z+AccountFileStorageTest._test_delete_folderscCs|�d�|��dS)Nrs�r�r�r'r"r"r#�test_delete_folders_up:s
z-AccountFileStorageTest.test_delete_folders_upcCs|�d�|��dSrnr�r'r"r"r#�test_delete_folders_down>s
z/AccountFileStorageTest.test_delete_folders_downcCsP|�|�ttj�|jjd�d��}|�d�Wd�n1sB0YdS)NZfoo�wZbar)rm�openrrOrWrKrQ�write)r!Zserver_path�fr"r"r#r�Bs
z3AccountFileStorageTest._set_server_and_stop_symlinkcCs|�d�|�d�dSrr�r�r�r'r"r"r#�test_delete_shared_account_upGs
z4AccountFileStorageTest.test_delete_shared_account_upcCs|�d�|�d�dSrnr�r'r"r"r#�test_delete_shared_account_downKs
z6AccountFileStorageTest.test_delete_shared_account_down)&r/r0r1r2r$rRr[r]r^r_r`rbrirkrmrqrvrwrxr{r|rrr~r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__r"r"rMr#rDesB
		
	


rD�__main__rG)$r2r�sysZunittestrZjosepyZjoser=rZacmerZcertbotrZcertbot.compatrrrZcertbot.tests.utilZtests�utilZ	test_utilZJWKRSAr@Zload_vectorrZTestCaserr3r8ZConfigTestCaserDr/�exit�main�argv�__file__r"r"r"r#�<module>s*#l

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