U
    ÓZjJ  ã                   @   sv   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
Z G dd	„ d	ejƒZed
krre ¡  dS )z Tests for certbot.configuration.é    N)Ú	constants)Úerrors)Úmisc)Úos)Úutilc                       s|   e Zd ZdZ‡ fdd„Zdd„ Zdd„ Zdd	„ Ze 	d
¡dd„ ƒZ
dd„ Ze 	d
¡dd„ ƒZdd„ Zdd„ Zdd„ Z‡  ZS )ÚNamespaceConfigTestz0Tests for certbot.configuration.NamespaceConfig.c                    s2   t t| ƒ ¡  d| j_d| j_d| j_d| j_d S )NÚbarzhttps://acme-server.org:443/newiÒ  éá  )Úsuperr   ÚsetUpÚconfigÚfooÚserverÚ
https_portÚhttp01_port©Úself©Ú	__class__© úc/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/certbot/tests/configuration_test.pyr      s
    zNamespaceConfigTest.setUpc                 C   s.   d| j j_ddlm} |  tj|| j j¡ d S )Nr	   r   ©ÚNamespaceConfig)r   Ú	namespacer   Úcertbot.configurationr   ZassertRaisesr   ÚError)r   r   r   r   r   Útest_init_same_ports   s    
z(NamespaceConfigTest.test_init_same_portsc                 C   s0   |   | jjd¡ |   | jjtj | jd¡¡ d S )Nr   Zwork)ÚassertEqualr   r   Úwork_dirr   ÚpathÚjoinÚtempdirr   r   r   r   Útest_proxy_getattr   s    z&NamespaceConfigTest.test_proxy_getattrc                 C   sP   |   ddg| jj tjj¡¡ d| jj_|   dddddg| jj tjj¡¡ d S )	Nzacme-server.org:443ÚnewzBhttp://user:pass@acme.server:443/p/a/t/h;parameters?query#fragmentzuser:pass@acme.server:443ÚpÚaÚtÚh)	r   r   Zserver_pathÚsplitr   r   Úsepr   r   r   r   r   r   Útest_server_path    s    
ÿ
ÿz$NamespaceConfigTest.test_server_pathzcertbot.configuration.constantsc              	   C   sF  d|_ d|_d|_d|_d|_d|_t d¡}|  t	j
 | jj¡t	j
 t	j
 | jj|¡¡¡ |  t	j
 | jj¡t	j
 t	j
 | jjd¡¡¡ |  t	j
 | jj¡t	j
 t	j
 | jjd¡¡¡ |  t	j
 | jj¡t	j
 t	j
 | jjd¡¡¡ |  t	j
 | jj¡t	j
 t	j
 | jjd¡¡¡ |  t	j
 | jj¡t	j
 t	j
 | jjd¡¡¡ d S )NÚaccZbackupsZcsrz../pÚkeysr&   zacc/acme-server.org:443/new)ZACCOUNTS_DIRZ
BACKUP_DIRZCSR_DIRZIN_PROGRESS_DIRZKEY_DIRZTEMP_CHECKPOINT_DIRr   Z.underscores_for_unsupported_characters_in_pathr   r   r   Únormpathr   Úaccounts_dirr    Ú
config_dirÚ
backup_dirr   Úcsr_dirÚin_progress_dirÚkey_dirÚtemp_checkpoint_dir)r   Úmock_constantsZref_pathr   r   r   Útest_dynamic_dirs)   sB    ÿþþþþþþz%NamespaceConfigTest.test_dynamic_dirsc                 C   sb  ddl m} d}d}d}d}tjddd	d
dddgd�}||_||_||_||_||ƒ}|  t	j
 |j¡¡ |  |jt	j
 t	 ¡ |¡¡ |  t	j
 |j¡¡ |  |jt	j
 t	 ¡ |¡¡ |  t	j
 |j¡¡ |  |jt	j
 t	 ¡ |¡¡ |  t	j
 |j¡¡ |  t	j
 |j¡¡ |  t	j
 |j¡¡ |  t	j
 |j¡¡ |  t	j
 |j¡¡ |  t	j
 |j¡¡ d S )Nr   r   r   r   Úbazzmock.serverr/   r   Úlogs_dirr   r   Údomainsr   ©Úspec)r   r   ÚmockÚ	MagicMockr/   r   r8   r   Ú
assertTruer   r   Úisabsr   r    Úgetcwdr.   r0   r1   r2   r3   r4   )r   r   Úconfig_baseÚ	work_baseÚ	logs_baser   Úmock_namespacer   r   r   r   Útest_absolute_pathsH   sF      ýÿÿÿz'NamespaceConfigTest.test_absolute_pathsc                 C   sp   d|_ d|_d|_|  | jjtj | jj	d¡¡ |  | jj
tj | jj	d¡¡ |  | jjtj | jj	d¡¡ d S )Nr%   ÚlZrenewal_configs)ZARCHIVE_DIRZLIVE_DIRZRENEWAL_CONFIGS_DIRr   r   Údefault_archive_dirr   r   r    r/   Úlive_dirÚrenewal_configs_dir)r   r5   r   r   r   Útest_renewal_dynamic_dirsj   s$     ÿ ÿ  ÿÿz-NamespaceConfigTest.test_renewal_dynamic_dirsc                 C   sŒ   ddl m} d}d}d}tjdddd	d
ddgd�}||_||_||_||ƒ}|  tj	 
|j¡¡ |  tj	 
|j¡¡ |  tj	 
|j¡¡ d S )Nr   r   r   r   r7   r/   r   r8   r   r   r9   r   r:   )r   r   r<   r=   r/   r   r8   r>   r   r   r?   rG   rH   rI   )r   r   rA   rB   rC   rD   r   r   r   r   Útest_renewal_absolute_pathsx   s$      ýz/NamespaceConfigTest.test_renewal_absolute_pathsc                 C   s8   d| j _|  | j jjd¡ d| j j_|  | j jd¡ d S )Né*   i9  )r   r   r   r   r   r   r   r   r   Útest_get_and_set_attrŒ   s    
z)NamespaceConfigTest.test_get_and_set_attrc                 C   s„   |   | jjtj | jjtj¡¡ |   | jj	tj | jjtj
¡¡ |   | jjtj | jjtj¡¡ |   | jjtj | jjtj¡¡ d S )N)r   r   Zrenewal_hooks_dirr   r   r    r/   r   ZRENEWAL_HOOKS_DIRZrenewal_pre_hooks_dirZRENEWAL_PRE_HOOKS_DIRZrenewal_deploy_hooks_dirZRENEWAL_DEPLOY_HOOKS_DIRZrenewal_post_hooks_dirZRENEWAL_POST_HOOKS_DIRr   r   r   r   Útest_hook_directories’   s(    
ÿÿ
ÿÿ
ÿÿ
ÿÿz)NamespaceConfigTest.test_hook_directories)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r"   r*   r<   Úpatchr6   rE   rJ   rK   rM   rN   Ú__classcell__r   r   r   r   r      s   	
"
r   Ú__main__)rR   Zunittestr<   Zcertbotr   r   Zcertbot.compatr   r   Zcertbot.testsr   Z	test_utilZConfigTestCaser   rO   Úmainr   r   r   r   Ú<module>   s    