U
    eà–_  ã                   @   sŽ   d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddl	m
  mZ G dd„ dejƒZG d	d
„ d
ejƒZedkrŠe ¡  dS )zTests for certbot.renewalé    N)Ú
challenges)Úconfiguration)Úerrors)Ústoragec                   @   s0   e Zd Ze d¡dd„ ƒZe d¡dd„ ƒZdS )ÚRenewalTestzcertbot.cli.set_by_clic                 C   s|   d|_ t | jjd¡}d | j_d | j_d | j_t 	| j¡}t
 ||¡}|jd }ddlm} | ||¡ |  |jdg¡ d S )NFzsample-renewal-ancient.confÚrenewalparamsr   ©Úrenewalz	/var/www/)Úreturn_valueÚ	test_utilZmake_lineageÚconfigZ
config_dirZaccountZemailÚwebroot_pathr   ZNamespaceConfigr   ZRenewableCertÚcertbotr	   Ú_restore_webroot_configÚassertEqual)ÚselfÚmock_set_by_cliZrc_pathr   Zlineager   r	   © r   ú</usr/lib/python3/dist-packages/certbot/tests/renewal_test.pyÚ!test_ancient_webroot_renewal_conf   s     ÿ
z-RenewalTest.test_ancient_webroot_renewal_confúcertbot.renewal.cli.set_by_clic                 C   s˜   ddl m} d|_ddiddgdœ}| | j|¡ |  | jjddi¡ |  | jjddg¡ i ddœ}| | j|¡ |  | jji ¡ |  | jjdg¡ d S )Nr   r   Fztest.example.comz/var/www/testz/var/www/other)Úwebroot_mapr   )r   r	   r
   r   r   r   r   r   )r   r   r	   r   r   r   r   Ú test_webroot_params_conservation   s    þþz,RenewalTest.test_webroot_params_conservationN)Ú__name__Ú
__module__Ú__qualname__ÚmockÚpatchr   r   r   r   r   r   r      s   
r   c                   @   s¬   e Zd ZdZedd„ ƒZe d¡dd„ ƒZe d¡dd„ ƒZ	e d¡d	d
„ ƒZ
e d¡dd„ ƒZe d¡dd„ ƒZe d¡dd„ ƒZe d¡dd„ ƒZe d¡dd„ ƒZdS )Ú!RestoreRequiredConfigElementsTestz;Tests for certbot.renewal.restore_required_config_elements.c                 O   s   ddl m} |||ŽS )Nr   )Ú restore_required_config_elements)Zcertbot.renewalr   )ÚclsÚargsÚkwargsr   r   r   r   Ú_call9   s    z'RestoreRequiredConfigElementsTest._callr   c                 C   s.   d|_ |  | jddi¡ |  | jjdk¡ d S )NFÚallow_subset_of_namesÚTrueT)r
   r#   r   Ú
assertTruer$   ©r   r   r   r   r   Ú"test_allow_subset_of_names_success>   s    zDRestoreRequiredConfigElementsTest.test_allow_subset_of_names_successc                 C   s(   d|_ ddi}|  tj| j| j|¡ d S )NFr$   Úmaybe©r
   ZassertRaisesr   ÚErrorr#   r   ©r   r   r   r   r   r   Ú"test_allow_subset_of_names_failureD   s       ÿzDRestoreRequiredConfigElementsTest.test_allow_subset_of_names_failurec                 C   sF   d|_ dd d¡i}|  | j|¡ tjjtjjg}|  | jj	|¡ d S )NFÚpref_challszhttp-01, dnsú,)
r
   Úsplitr#   r   r   ZHTTP01ÚtypÚDNS01r   r.   ©r   r   r   Zexpectedr   r   r   Útest_pref_challs_listK   s
    z7RestoreRequiredConfigElementsTest.test_pref_challs_listc                 C   s:   d|_ ddi}|  | j|¡ tjjg}|  | jj|¡ d S )NFr.   Zdns)r
   r#   r   r   r2   r1   r   r.   r3   r   r   r   Útest_pref_challs_strS   s
    
z6RestoreRequiredConfigElementsTest.test_pref_challs_strc                 C   s(   d|_ ddi}|  tj| j| j|¡ d S )NFr.   zfinding-a-shrubberyr*   r,   r   r   r   Útest_pref_challs_failure[   s    z:RestoreRequiredConfigElementsTest.test_pref_challs_failurec                 C   s.   d|_ |  | jddi¡ |  | jjdk¡ d S )NFÚmust_stapler%   T)r
   r#   r   r&   r7   r'   r   r   r   Útest_must_staple_successa   s    z:RestoreRequiredConfigElementsTest.test_must_staple_successc                 C   s(   d|_ ddi}|  tj| j| j|¡ d S )NFr7   r)   r*   r,   r   r   r   Útest_must_staple_failureg   s       ÿz:RestoreRequiredConfigElementsTest.test_must_staple_failurec                 C   sH   ddl m} d | j_d|_|  | jd|ji¡ |  | jj|jd ¡ d S )Nr   )Ú	constantsFÚserver)	r   r:   r   r;   r
   r#   ZV1_URIr   ZCLI_DEFAULTS)r   r   r:   r   r   r   Ú test_ancient_server_renewal_confn   s
    zBRestoreRequiredConfigElementsTest.test_ancient_server_renewal_confN)r   r   r   Ú__doc__Úclassmethodr#   r   r   r(   r-   r4   r5   r6   r8   r9   r<   r   r   r   r   r   7   s&   







r   Ú__main__)r=   Zunittestr   Zacmer   r   r   r   r   Zcertbot.tests.utilZtestsÚutilr   ZConfigTestCaser   r   r   Úmainr   r   r   r   Ú<module>   s   )@