U
    ÓZjE  ã                   @   sB   d Z ddlZddlZddlZG dd„ dejƒZedkr>e ¡  dS )zTests for certbot.notify.é    Nc                   @   sZ   e Zd ZdZe d¡dd„ ƒZe d¡e d¡dd„ ƒƒZe d¡e d¡dd	„ ƒƒZd
S )ÚNotifyTestszTests for the notifier.zcertbot.notify.smtplib.LMTPc                 C   sP   ddl m} t ¡ }||_|  |dddƒ¡ |  |jjd¡ |  |j	jd¡ d S )Nr   ©ÚnotifyÚGooseúauntrhody@example.comúThe old grey goose is dead.é   )
Úcertbot.notifyr   ÚmockÚ	MagicMockÚreturn_valueÚ
assertTrueÚassertEqualÚconnectÚ
call_countÚsendmail)ÚselfÚ	mock_lmtpr   Úlmtp_obj© r   ú\/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/certbot/tests/notify_test.pyÚtest_smtp_success   s    
ÿzNotifyTests.test_smtp_successzcertbot.notify.subprocess.Popenc                 C   sl   ddl m} t ¡ }||_t d¡|j_t ¡ }||_|  	|dddƒ¡ |  
|jjd¡ |  
|jjd¡ d S )Nr   r   é   r   r   r   r   )r	   r   r
   r   r   ÚsocketÚerrorr   Úside_effectr   r   r   Úcommunicate©r   Z
mock_popenr   r   r   Úprocr   r   r   Útest_smtp_failure   s    
ÿzNotifyTests.test_smtp_failurec                 C   sx   ddl m} t ¡ }||_t d¡|j_t ¡ }||_t	dƒ|j
_|  |dddƒ¡ |  |jjd¡ |  |j
jd¡ d S )	Nr   r   r   z.What we have here is a failure to communicate.r   r   r   r   )r	   r   r
   r   r   r   r   r   r   ÚOSErrorr   ZassertFalser   r   r   r   r   r   Útest_everything_fails#   s    
ÿz!NotifyTests.test_everything_failsN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   Úpatchr   r   r!   r   r   r   r   r      s   
	r   Ú__main__)r%   r   Zunittestr
   ZTestCaser   r"   Úmainr   r   r   r   Ú<module>   s   +