o
    Ž¨ÊhM,  ã                   @   sp  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dl
mZ d dl
mZ d dlmZmZ dd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zejdd„ ƒZejd d!„ ƒZejd"d#„ ƒZejd$d%„ ƒZ ejd&d'„ ƒZ!ejd(d)„ ƒZ"eje	 #ed*¡d+d,„ ƒƒZ$ejd-d.„ ƒZ%ejd/d0„ ƒZ&ejd1d2„ ƒZ'dS )3é    N)Úpatch)Ú	SparkPost)ÚTransmissions)ÚSparkPostAPIExceptionÚSparkPostExceptionc                  C   sR   t ddƒ} | jdd�}|d dksJ ‚|d d d	u sJ ‚|d
 ddiks'J ‚d S )NÚuriÚkeyÚtest)Úrecipient_listÚreturn_pathzdefault@sparkpostmail.comÚcontentÚuse_draft_templateFÚ
recipientsÚlist_id©r   Ú_translate_keys©ÚtÚresults© r   úI/var/www/html/env/lib/python3.10/site-packages/test/test_transmissions.pyÚtest_translate_keys_with_list   s
   
r   c                  C   sN   t ddƒ} | jdddidgd�}|d dd	diiddidd	diigks%J ‚d S )
Nr   r   r	   ÚvalueÚfoobar©r   r   ÚaddressÚemailr   r   r   r   r   Útest_translate_keys_with_recips   s   
ÿ
þr   c                  C   sF   t ddƒ} t t¡� | jdd� W d   ƒ d S 1 sw   Y  d S )Nr   r   r	   r   )r   ÚpytestÚraisesr   r   )r   r   r   r   Útest_exceptions_for_recipients"   s   
"ÿr    c                  C   sB   t ddƒ} | jddgd�}|d dddiidddiigksJ ‚d S )	Nr   r   zunicode_email@example.comzstr_email@example.comr   r   r   r   r   r   r   r   r   Ú'test_translate_keys_with_unicode_recips(   s   
ÿ

þr!   c                  C   sD   t ddƒ} | jddgd�}|d dddiidd	d
dœigks J ‚d S )Nr   r   zhansel@example.comzGretel <gretel@example.com>r   r   r   r   ÚGretelzgretel@example.com©Únamer   r   r   r   r   r   Ú%test_translate_keys_for_email_parsing2   s   
ÿ
þr%   c                  C   s4   t ddƒ} | jdd�}|d d ddd	œksJ ‚d S )
Nr   r   zTesting <testing@example.com>)Ú
from_emailr   ÚfromÚTestingztesting@example.comr#   r   r   r   r   r   Ú"test_translate_keys_for_from_email<   s   

þr)   c                  C   sP   t ddƒ} | jdddiid�}|dksJ ‚| jddddœid�}|d	ks&J ‚d S )
Nr   r   r   r   úprimary@example.com)Ú	recipientr(   r#   z"Testing" <primary@example.com>)r   Ú_format_header_to)r   Ú	formattedr   r   r   Útest_format_header_toE   s   
ÿ
ÿr.   c                  C   s`   t ddƒ} | jddiddidœgdgd	�}|d
 ddiddidœdddœddidœgks.J ‚d S )Nr   r   r   r*   ÚfakeÚdata)r   Úsubstitution_dataúccone@example.com©r   Úccr   ©r   Ú	header_tor   r   r   r   r   Útest_cc_with_sub_dataR   s"   
þûþþûûr7   c                  C   s^   t ddƒ} | jdgdgd�}|d dddiidddd	œigks!J ‚|d
 d ddiks-J ‚d S )Nr   r   r*   r2   r3   r   r   r   r5   r   ÚheadersÚCCr   r   r   r   r   Útest_translate_keys_with_ccj   s   
ÿ
ÿ
þ
ÿr:   c                  C   sl   t ddƒ} | jdgddgd�}|d dd	diidddd
œidddd
œigks(J ‚|d d ddiks4J ‚d S )Nr   r   r*   r2   zcctwo@example.comr3   r   r   r   r5   r   r8   r9   z#ccone@example.com,cctwo@example.comr   r   r   r   r   Ú$test_translate_keys_with_multiple_ccx   s    
ÿ
ÿÿ
ü
ÿr;   c                  C   sF   t ddƒ} | jdgdgd�}|d dddiidddd	œigks!J ‚d S )
Nr   r   r*   zbccone@example.com)r   Úbccr   r   r   r5   r   r   r   r   r   Útest_translate_keys_with_bccˆ   s   
ÿ
ÿþr=   c                  C   s0   t ddƒ} | jdd�}|d  d¡du sJ ‚d S )Nr   r   T)Ú
inline_cssÚoptionsr>   )r   r   Úgetr   r   r   r   Ú#test_translate_keys_with_inline_css“   s   
rA   c                  C   s8   t jt jddddd� tdƒ} | j ¡ }|dksJ ‚d S )Nú.https://api.sparkpost.com/api/v1/transmissionséÈ   úapplication/jsonú{"results": "yay"}©ÚstatusÚcontent_typeÚbodyúfake-keyÚyay)Ú	responsesÚaddÚPOSTr   ÚtransmissionÚsend©Úspr   r   r   r   Útest_success_send™   s   û
rS   c            	   	   C   sh  z­t  d¡} t ¡ \}}t|dƒ�}| | ¡ W d   ƒ n1 s!w   Y  tjtjddddd� t	dƒ}d	d
|dœ}|j
j|gd�}t tjd jj¡}t |d d d d ¡}| | d¡kscJ ‚|dksiJ ‚d	d
t |  d¡¡ d¡dœ}|j
j|gd�}t tjd jj¡}t |d d d d ¡}| | d¡ks J ‚|dks¦J ‚W t |¡ d S t |¡ w )NzHello 
World
ÚwrB   rC   rD   rE   rF   rJ   ztest.txtz
text/plain©r$   ÚtypeÚfilename)Úattachmentsr   r   rX   r0   ÚasciirK   ©r$   rV   r0   é   )ÚsixÚuÚtempfileÚmkstempÚopenÚwriterL   rM   rN   r   rO   rP   ÚjsonÚloadsÚcallsÚrequestrI   Úbase64Ú	b64decodeÚdecodeÚ	b64encodeÚencodeÚosÚunlink)	Útest_contentÚ_Útemp_file_pathÚ	temp_filerR   Ú
attachmentr   Úrequest_paramsr   r   r   r   Ú"test_success_send_with_attachments§   sP   
ÿûýÿÿüÿrs   c            	      C   s<  t j t j t¡¡} t j | dd¡}t|dƒ�}t | 	¡ ¡ 
d¡}W d   ƒ n1 s,w   Y  tjtjddddd	� td
ƒ}dd|dœ}|jj|gd�}t tjd jj¡}|d d d d }||kshJ ‚|dksnJ ‚dd|dœ}|jj|gd�}t tjd jj¡}|d d d d }||ks–J ‚|dksœJ ‚d S )NÚassetszsparkpostdev.pngÚrbrY   rB   rC   rD   rE   rF   rJ   Úsparkpostdevz	image/pngrU   )Úinline_imagesr   r   rw   r0   rK   rZ   r[   )rk   ÚpathÚabspathÚdirnameÚ__file__Újoinr`   rf   ri   Úreadrh   rL   rM   rN   r   rO   rP   rb   rc   rd   re   rI   )	Úcurrent_dirÚ
image_pathÚimageÚencoded_imagerR   Ú
image_datar   rr   r   r   r   r   Ú$test_success_send_with_inline_imagesÛ   s>   ÿûýýrƒ   c                  C   sX   t jt jddddd� t t¡� tdƒ} | j ¡  W d   ƒ d S 1 s%w   Y  d S )NrB   iô  rD   zU
        {"errors": [{"message": "You failed", "description": "More Info"}]}
        rF   rJ   )	rL   rM   rN   r   r   r   r   rO   rP   ©rR   r   r   r   Útest_fail_send  s   û	"þr…   c                  C   ó:   t jt jddddd� tdƒ} | j d¡}|i ksJ ‚d S )Nú5https://api.sparkpost.com/api/v1/transmissions/foobarrC   rD   z!{"results": {"transmission": {}}}rF   rJ   r   )rL   rM   ÚGETr   rO   r@   rQ   r   r   r   Útest_success_get  ó   ûr‰   c                  C   óZ   t jt jddddd� t t¡� tdƒ} | j d¡ W d   ƒ d S 1 s&w   Y  d S )Nr‡   é”  rD   zW
        {"errors": [{"message": "cant find", "description": "where you go"}]}
        rF   rJ   r   )	rL   rM   rˆ   r   r   r   r   rO   r@   r„   r   r   r   Útest_fail_get#  s   û	"þr�   Úwarnc                 C   sB   t jt jddddd� tdƒ}|j ¡ }| jsJ ‚|g ksJ ‚d S )NrB   rC   rD   ú{"results": []}rF   rJ   )rL   rM   rˆ   r   rO   ÚlistÚcalled)Ú	mock_warnrR   Úresponser   r   r   Útest_success_list3  s   û

r”   c                  C   s>   t jt jdddddd� tdƒ} | jjdd	�}|g ksJ ‚d S )
Nz?https://api.sparkpost.com/api/v1/transmissions?template_id=abcdrC   rD   r�   T)rG   rH   rI   Úmatch_querystringrJ   Úabcd)Útemplate_id)rL   rM   rˆ   r   rO   r�   )rR   r“   r   r   r   Útest_success_list_with_paramsC  s   ú	r˜   c                  C   r†   )Nr‡   rC   rD   z{}rF   rJ   r   )rL   rM   ÚDELETEr   rO   ÚdeleterQ   r   r   r   Útest_success_deleteS  rŠ   r›   c                  C   r‹   )Nr‡   rŒ   rD   z‰
        {"errors": [{"message": "resource not found",
            "description": "Resource not found:transmission id foobar"}]}
        rF   rJ   r   )	rL   rM   r™   r   r   r   r   rO   rš   r„   r   r   r   Útest_fail_deletea  s   û
"þrœ   )(rf   rb   rk   r^   Úwarningsr   rL   r\   Úmockr   Ú	sparkpostr   r   Úsparkpost.exceptionsr   r   r   r   r    r!   r%   r)   r.   r7   r:   r;   r=   rA   ÚactivaterS   rs   rƒ   r…   r‰   r�   Úobjectr”   r˜   r›   rœ   r   r   r   r   Ú<module>   sZ    	

	

3
)





