U
    ]:                     @   sX   d Z ddlZddlZddlmZ G dd dejZG dd dejZedkrTe	  dS )	zTests for certbot.plugins.util.    N)osc                   @   s   e Zd ZdZdd ZdS )GetPrefixTestz'Tests for certbot.plugins.get_prefixes.c                 C   sV   ddl m} | |ddd dD  | |dtjdg | |ddg d S )	Nr   )get_prefixes/a/b/cc                 S   s   g | ]}t j|qS  )r   pathnormpath).0r   r   r   ;/usr/lib/python3/dist-packages/certbot/plugins/util_test.py
<listcomp>   s     z1GetPrefixTest.test_get_prefix.<locals>.<listcomp>)r   z/a/bz/a/r   a)certbot.plugins.utilr   assertEqualr   r   r   )selfr   r   r   r
   test_get_prefix   s    zGetPrefixTest.test_get_prefixN)__name__
__module____qualname____doc__r   r   r   r   r
   r   	   s   r   c                   @   s"   e Zd ZdZeddd ZdS )PathSurgeryTestz'Tests for certbot.plugins.path_surgery.z!certbot.plugins.util.logger.debugc              
   C   s  ddl m} ddi}tjd|V td@}d|_| |dd | |jd | tj	d |d  W 5 Q R X W 5 Q R X tj
d	krdd
i}tjd|j |d | |jtj
d	krdnd | d|jd d k | dtj	d k | dtj	d k W 5 Q R X d S )Nr   )path_surgeryPATHz0/usr/local/bin:/bin/:/usr/sbin/:/usr/local/sbin/z
os.environzcertbot.util.exe_existsTZegntz/tmp/Zthingy      zFailed to findz/usr/local/binz/tmp)r   r   mockpatchdictZreturn_valuer   Z
call_countr   environnameZ
assertTrueZ	call_args)r   Z
mock_debugr   Zall_pathZmock_existsZno_pathr   r   r
   test_path_surgery   s     *z!PathSurgeryTest.test_path_surgeryN)r   r   r   r   r   r   r!   r   r   r   r
   r      s   r   __main__)
r   Zunittestr   Zcertbot.compatr   ZTestCaser   r   r   mainr   r   r   r
   <module>   s   