o
    %h�jq  ã                   @   sB   d dl Zd dlm  mZ d dlmZ dd„ Zdd„ Z	dd„ Z
dS )	é    N)Ústatusc              	   C   sJ  ddi}| j d|d�}|j}tj}||k}|s\t d|fd||f¡dt ¡ v s,t |¡r1t 	|¡ndt 	|¡dt ¡ v sAt t¡rFt 	t¡ndt 	|¡d	œ }d
d|i }t
t |¡ƒ‚d  } }}|j}|j }d}||ƒ}d}	||	k}
|
s¶t d|
fd||	f¡dt ¡ v s‹t |¡r�t 	|¡ndt 	|¡t 	|¡t 	|¡t 	|¡t 	|	¡dœ }dd|i }t
t |¡ƒ‚d  } } } } }
}	|j}|j }d}||ƒ}d}	||	k}
|
�st d|
fd||	f¡dt ¡ v sìt |¡rñt 	|¡ndt 	|¡t 	|¡t 	|¡t 	|¡t 	|	¡dœ }dd|i }t
t |¡ƒ‚d  } } } } }
}	d S )NÚOriginúhttp://localhost:3000ú/©Úheaders©ú==©zT%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py6)s
{%(py6)s = %(py4)s.HTTP_200_OK
}Úresponser   ©Úpy0Úpy2Úpy4Úpy6úassert %(py8)sÚpy8úaccess-control-allow-origin©zg%(py8)s
{%(py8)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.headers
}.get
}(%(py6)s)
} == %(py11)s©r   r   r   r   r   Úpy11úassert %(py13)sÚpy13z access-control-allow-credentialsÚtrue©ÚgetÚstatus_coder   ÚHTTP_200_OKÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationr   ©Úclientr   r   Ú@py_assert1Ú@py_assert5Ú@py_assert3Ú@py_format7Ú@py_format9Ú@py_assert7Ú@py_assert10Ú@py_assert9Ú@py_format12Ú@py_format14© r2   ú0/web/html/dev/chatbot/backend/tests/test_cors.pyÚtest_cors_allowed_origin   s
   ®ÀÆr4   c              	   C   sŒ  ddddœ}| j d|d�}|j}tj}||k}|s^t d|fd||f¡d	t ¡ v s.t |¡r3t 	|¡nd	t 	|¡d
t ¡ v sCt t¡rHt 	t¡nd
t 	|¡dœ }dd|i }t
t |¡ƒ‚d  } }}|j}|j}d}||ƒ}d}	||	k}
|
s¸t d|
fd||	f¡d	t ¡ v s�t |¡r’t 	|¡nd	t 	|¡t 	|¡t 	|¡t 	|¡t 	|	¡dœ }dd|i }t
t |¡ƒ‚d  } } } } }
}	d S )Nr   ÚPOSTzcontent-type)r   zAccess-Control-Request-MethodzAccess-Control-Request-Headersz/api/v1/tenant/registerr   r   r
   r   r   r   r   r   r   r   r   r   r   )Úoptionsr   r   r   r   r   r    r!   r"   r#   r$   r%   r   r   r&   r2   r2   r3   Ú"test_cors_preflight_allowed_origin
   s   ý®Är7   c              	   C   sˆ  ddi}| j d|d�}|j}tj}||k}|s\t d|fd||f¡dt ¡ v s,t |¡r1t 	|¡ndt 	|¡dt ¡ v sAt t¡rFt 	t¡ndt 	|¡d	œ }d
d|i }t
t |¡ƒ‚d  } }}|j}|j }d}||ƒ}d}	||	k}
|
s¶t d|
fd||	f¡dt ¡ v s‹t |¡r�t 	|¡ndt 	|¡t 	|¡t 	|¡t 	|¡t 	|	¡dœ }dd|i }t
t |¡ƒ‚d  } } } } }
}	d S )Nr   z#http://unallowed-malicious-site.comr   r   r   r
   r   r   r   r   r   r   )ú!=)zg%(py8)s
{%(py8)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.headers
}.get
}(%(py6)s)
} != %(py11)sr   r   r   r   r&   r2   r2   r3   Útest_cors_disallowed_origin   s   ®Är9   )Úbuiltinsr    Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   Úfastapir   r4   r7   r9   r2   r2   r2   r3   Ú<module>   s   & 
