o
    >½3T)  ã                   @   s<   d dl mZmZ d dlmZmZ d dlZG dd„ deƒZdS )é    )ÚTestCaseÚClient)ÚutilsÚsignalsNc                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚSignalTestCasec                 C   s   t ƒ | _dddddœ| _d S )NzTest SubjectzHi, I am a test bodyzemail@example.com)úother_email@example.com)ÚsubjectÚbodyÚ
from_emailÚto)r   ÚclientÚ
email_data)Úself© r   úM/var/www/html/env/lib/python3.10/site-packages/sendgrid/tests/test_signals.pyÚsetUp	   s   ýzSignalTestCase.setUpc              	      sÌ   g ‰ ‡ fdd„}t j |¡ |  tˆ ƒd¡ tjdi | j¤Ž}| ¡  |  tˆ ƒd¡ | j	j
dt d|jddd	œg¡d
d�}|  tˆ ƒd¡ |  ˆ d d jd¡ |  ˆ d d j|j¡ |  |jd¡ dS )z6 Test signals triggered by sendgrid callback.
        c                    ó   ˆ   | |f¡ d S ©N©Úappend©ÚsenderÚsignal©Údatar   r   Úemail_event_handler   ó   z?SignalTestCase.test_received_email.<locals>.email_event_handlerr   é   ú/sendgrid_callback/r   Ú	processedÚ	123456789©ÚemailÚuuidÚeventÚ	timestampúapplication/json©r   Úcontent_typeé   éÈ   Nr   ©r   Úemail_eventÚconnectÚassertEqualÚlenr   ÚSendgridEmailMessager   Úsendr   ÚpostÚjsonÚdumpsr#   r$   Ústatus_code©r   r   ÚmessageÚresponser   r   r   Útest_received_email   s(   üù
z"SignalTestCase.test_received_emailc              	      s  g ‰ ‡ fdd„}t j |¡ |  tˆ ƒd¡ tjdi | j¤Ž}| ¡  |  tˆ ƒd¡ | j	j
dt d|jddd	œg¡d
d�}|  tˆ ƒd¡ |  ˆ d d jd¡ |  ˆ d d j|j¡ |  |jd¡ | j	j
dt d|jddd	œg¡d
d�}|  tˆ ƒd¡ |  |jd¡ dS )z- Test handling of duplicate signals.
        c                    r   r   r   r   r   r   r   r   7   r   z=SignalTestCase.test_dupe_signals.<locals>.email_event_handlerr   r   r   r   Ú	deliveredr    r!   r&   r'   r)   r*   Ú	123456790Nr   r+   r6   r   r   r   Útest_dupe_signals2   s>   üù
üù
z SignalTestCase.test_dupe_signalsN)Ú__name__Ú
__module__Ú__qualname__r   r9   r<   r   r   r   r   r      s    "r   )Údjango.testr   r   Úsendgridr   r   r3   r   r   r   r   r   Ú<module>   s    