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   