U
    ä«Fc	  ã                   @   s2   d dl Z d dlZd dlmZ G dd„ dejƒZdS )é    N)ÚEventWebhookc                   @   s@   e Zd Zedd„ ƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dS )Ú	UnitTestsc              	   C   s>   d| _ d| _d| _tjdddddd	d
dœgddd�d | _d S )Nz|MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE83T4O/n84iotIvIW4mdBgQ/7dAfSmpqIM8kF9mN1flpVKS3GRqe62gw+2fNNRaINXvVpiglSI8eNEc6wEA3F+g==z`MEUCIGHQVtGj+Y3LkG9fLcxf3qfI10QysgDWmMOVmxG0u6ZUAiEAyBiXDWzM+uOe5W0JuG+luQAbPIqHh89M15TluLtEZtM=Z
1600112502zhello@world.comZdroppedzBounced AddressZ3ZHJvcC0xMDk5NDkxOS1MUnpYbF9OSFN0T0doUTRrb2ZTbV9BLTAzJLRzXl_NHStOGhQ4kofSm_A.filterdrecv-p3mdw1-756b745b58-kmzbl-18-5F5FC76C-9.0z6<LRzXl_NHStOGhQ4kofSm_A@ismtpd0039p1iad1.sendgrid.net>ilÇ__)ÚemailÚeventÚreasonZsg_event_idZsg_message_idzsmtp-idÚ	timestampT)ú,ú:)Ú	sort_keysÚ
separatorsz
)Ú
PUBLIC_KEYÚ	SIGNATUREÚ	TIMESTAMPÚjsonÚdumpsÚPAYLOAD)Úcls© r   ú?/tmp/pip-unpacked-wheel-7j3043uk/test/unit/test_eventwebhook.pyÚ
setUpClass   s$    ùÿ
 õôzUnitTests.setUpClassc                 C   s2   t ƒ }| | j¡}|  | | j| j| j|¡¡ d S )N)r   Zconvert_public_key_to_ecdsar   Ú
assertTrueÚverify_signaturer   r   r   )ÚselfÚewÚkeyr   r   r   Útest_verify_valid_signature   s    z%UnitTests.test_verify_valid_signaturec                 C   s&   t dƒ}|  | | j| j| j¡¡ d S )Nz|MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqTxd43gyp8IOEto2LdIfjRQrIbsd4SXZkLW6jDutdhXSJCWHw8REntlo7aNDthvj+y7GjUuFDb/R1NGe1OPzpA==)r   ÚassertFalser   r   r   r   ©r   r   r   r   r   Útest_verify_bad_key    s    zUnitTests.test_verify_bad_keyc                 C   s&   t | jƒ}|  | d| j| j¡¡ d S )NÚpayload)r   r   r   r   r   r   r   r   r   r   Útest_verify_bad_payload$   s    
z!UnitTests.test_verify_bad_payloadc                 C   s&   t | jƒ}|  | | jd| j¡¡ d S )Nz`MEUCIQCtIHJeH93Y+qpYeWrySphQgpNGNr/U+UyUlBkU6n7RAwIgJTz2C+8a8xonZGi6BpSzoQsbVRamr2nlxFDWYNH3j/0=)r   r   r   r   r   r   r   r   r   r   Útest_verify_bad_signature(   s    
ýz#UnitTests.test_verify_bad_signaturec                 C   s&   t | jƒ}|  | | j| jd¡¡ d S )Nr   )r   r   r   r   r   r   r   r   r   r   Útest_verify_bad_timestamp0   s    
z#UnitTests.test_verify_bad_timestampN)
Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r   r   r    r!   r"   r   r   r   r   r      s   
r   )r   ZunittestZsendgridr   ZTestCaser   r   r   r   r   Ú<module>   s   