U
    ÝÁ]‡  ã                   @   sl   d Z ddlZddlZddlZddlmZ ddlmZ G dd„ dej	ƒZ
G dd„ dej	ƒZed	krhe ¡  dS )
zModule for enhancement UI.é    N)Úerrors)Úutilc                   @   sF   e Zd ZdZdd„ Zdd„ Zedd„ ƒZe 	d¡d	d
„ ƒZ
dd„ ZdS )ÚAskTestzTest the ask method.c                 C   s   t  t j¡ d S ©N)ÚloggingÚdisableZCRITICAL©Úself© r
   úI/usr/lib/python3/dist-packages/certbot/tests/display/enhancements_test.pyÚsetUp   s    zAskTest.setUpc                 C   s   t  t j¡ d S r   )r   r   ZNOTSETr   r
   r
   r   ÚtearDown   s    zAskTest.tearDownc                 C   s   ddl m} ||ƒS )Nr   )Úask)Úcertbot.display.enhancementsr   )ÚclsZenhancementr   r
   r
   r   Ú_call   s    zAskTest._callú!certbot.display.enhancements.utilc                 C   s$   t jdf|ƒ j_|  |  d¡¡ d S )Né   Zredirect©Údisplay_utilÚOKÚmenuÚreturn_valueZ
assertTruer   ©r	   Z	mock_utilr
   r
   r   Útest_redirect   s    zAskTest.test_redirectc                 C   s   |   tj| jd¡ d S )NZunknown_enhancement)ZassertRaisesr   ÚErrorr   r   r
   r
   r   Útest_key_error   s    zAskTest.test_key_errorN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Úclassmethodr   ÚmockÚpatchr   r   r
   r
   r
   r   r      s   

r   c                   @   sR   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
dS )ÚRedirectTestz$Test the redirect_by_default method.c                 C   s   ddl m} |ƒ S )Nr   )Úredirect_by_default)r   r%   )r   r%   r
   r
   r   r   #   s    zRedirectTest._callr   c                 C   s"   t jdf|ƒ j_|  |  ¡ ¡ d S ©Nr   r   r   r
   r
   r   Útest_secure(   s    zRedirectTest.test_securec                 C   s"   t jdf|ƒ j_|  |  ¡ ¡ d S r&   )r   ZCANCELr   r   ÚassertFalser   r   r
   r
   r   Útest_cancel-   s    zRedirectTest.test_cancelc                 C   s"   t jdf|ƒ j_|  |  ¡ ¡ d S )Nr   )r   r   r   r   r(   r   r   r
   r
   r   Ú	test_easy2   s    zRedirectTest.test_easyN)r   r   r   r    r!   r   r"   r#   r'   r)   r*   r
   r
   r
   r   r$   !   s   


r$   Ú__main__)r    r   Zunittestr"   Zcertbotr   Zcertbot.displayr   r   ZTestCaser   r$   r   Úmainr
   r
   r
   r   Ú<module>   s   