ó
    dÀÍj  ã                   ó„   • S SK rS SKJs  Jr  S SKrS SKrS SKJ	r	J
r
Jr  \R                  S 5       rS rS rS rS rS rg)	é    N)ÚTEST_ENCRYPTION_KEYÚloginÚmake_configc              #   óŽ  #   • SSK Jn  U" [        U SS95      nSSKJn  UR                  5          U" 5         S S S 5        Uv •  SSK Jn  SSKJn  UR                  5          UR                  R                  5         U" SS	9  UR                  R                  5         S S S 5        g ! , (       d  f       Nr= f! , (       d  f       g = f7f)
Nr   )Ú
create_appT)ÚWTF_CSRF_ENABLED)Úupgrade)Údb)Ú	downgradeÚbase)Úrevision)Úappr   r   Úflask_migrater	   Úapp_contextr
   r   ÚsessionÚremoveÚengineÚdispose)Útmp_pathr   Úapplicationr	   r
   r   s         ÚLF:\Solutions\Thinkera\Publishers\TikTokManager\tests\routes\test_gui_csrf.pyÚcsrf_appr      s‹   é € åÙœ[¨ÀDÑIÓJ€KÝ%Ø	×	 Ñ	 Õ	"ÙŒ	÷ 
#à
ÒÝÝ'Ø	×	 Ñ	 Õ	"Ø
�
‰
×ÑÔÙ˜6Ò"Ø
�	‰	×ÑÔ÷ 
#Ð	"÷ 
#Õ	"ú÷
 
#Õ	"üs3   ‚-C¯B#·(CÁ;B4Â	CÂ#
B1Â-CÂ4
CÂ>Cc                 óÀ  • [        X5        U R                  S5      R                  SS9n[        R                  " SU5      nU(       d‡  [
        R                  " S5      S-   SS[        R                  " 5       ;   d  [
        R                  " U5      (       a  [
        R                  " U5      OS0-  n[        [
        R                  " U5      5      eUR                  S	5      $ )
Nz	/accountsT)Úas_textz!name="csrf_token" value="([^"]+)"z no csrf token found on /accountsz
>assert %(py0)sÚpy0Úmatché   )r   ÚgetÚget_dataÚreÚsearchÚ
@pytest_arÚ_format_assertmsgÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚgroup)ÚclientÚ
account_idÚtextr   Ú@py_format1s        r   Ú_csrf_tokenr/      sˆ   € Ü	ˆ&ÔØ�:‰:�kÓ"×+Ñ+°DÐ+Ð9€DÜ�IŠIÐ:¸DÓA€EÞ×4×4Ð4×4×4×4×4×4×4Ð4ˆ5×4×4×4Ñ4ˆ5×4×4×4×4×4Ð4Ø�;‰;�q‹>Ðó    c                 ó  • U R                  5       n[        X!5        UR                  SU-  5      nUR                  nSoTU:H  of(       dº  [        R
                  " SU4SXE45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=peg )	Nú/accounts/%s/activateé�  ©ú==©z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sÚr©r   Úpy2Úpy5úassert %(py7)sÚpy7©Útest_clientr   ÚpostÚstatus_coder"   Ú_call_reprcomparer$   r%   r&   r'   r(   r)   ©	r   Úaccountr+   r7   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8s	            r   Ú'test_mutation_without_token_is_rejectedrI       s›   € Ø×!Ñ!Ó#€FÜ	ˆ&ÔØ�‰Ð+¨gÑ5Ó6€AØ�=‰=Ð˜CÐ˜CÑ×××Òˆ=×××××Õˆ1×××Ñˆ1××Õˆ=××Ó˜C××××××Ôr0   c                 ó  • U R                  5       n[        X!5      nUR                  SU-  SU0S9nUR                  nSoeU:H  ow(       dº  [        R
                  " SU4SXV45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nS	S
U0-  n	[        [        R                  " U	5      5      eS =n=pvg )Nr2   Ú
csrf_token©Údataé.  r4   r6   r7   r8   r;   r<   )r>   r/   r?   r@   r"   rA   r$   r%   r&   r'   r(   r)   ©
r   rC   r+   Útokenr7   rD   rE   rF   rG   rH   s
             r   Ú!test_mutation_with_token_succeedsrQ   '   s¦   € Ø×!Ñ!Ó#€FÜ˜Ó(€EØ�‰Ð+¨gÑ5¸\È5Ð<QˆÐR€AØ�=‰=Ð˜CÐ˜CÑ×××Òˆ=×××××Õˆ1×××Ñˆ1××Õˆ=××Ó˜C××××××Ôr0   c                 ó  • U R                  5       n[        X!5        UR                  SSS0S9nUR                  nSoTU:H  of(       dº  [        R
                  " SU4SXE45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S	.-  nS
SU0-  n[        [        R                  " U5      5      eS =n=peg )Nz
/posts/newÚ	video_urlzhttps://x/v.mp4rL   r3   r4   r6   r7   r8   r;   r<   r=   rB   s	            r   Ú'test_new_post_without_token_is_rejectedrT   .   sŸ   € Ø×!Ñ!Ó#€FÜ	ˆ&ÔØ�‰�L¨Ð5FÐ'GˆÐH€AØ�=‰=Ð˜CÐ˜CÑ×××Òˆ=×××××Õˆ1×××Ñˆ1××Õˆ=××Ó˜C××××××Ôr0   c                 óÜ  • U R                  5       n[        X!5      nUR                  SSU0S9nUR                  nSoeU:H  ow(       dº  [        R
                  " SU4SXV45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nS	S
U0-  n	[        [        R                  " U	5      5      eS =n=pvUR                  S5      nUR                  nSoeU:H  ow(       dº  [        R
                  " SU4SXV45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nS	S
U0-  n	[        [        R                  " U	5      5      eS =n=pvg )Nz/logoutrK   rL   rN   r4   r6   r7   r8   r;   r<   z
/dashboard)r>   r/   r?   r@   r"   rA   r$   r%   r&   r'   r(   r)   r   rO   s
             r   Útest_logout_is_post_onlyrV   5   s  € Ø×!Ñ!Ó#€FÜ˜Ó(€EØ�‰�I \°5Ð$9ˆÐ:€AØ�=‰=Ð˜CÐ˜CÑ×××Òˆ=×××××Õˆ1×××Ñˆ1××Õˆ=××Ó˜C××××××ÓØ�
‰
�<Ó €AØ�=‰=Ð˜CÐ˜CÑ×××Òˆ=×××××Õˆ1×××Ñˆ1××Õˆ=××Ó˜C××××××Ôr0   )Úbuiltinsr$   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter"   r    ÚpytestÚtests.conftestr   r   r   Úfixturer   r/   rI   rQ   rT   rV   © r0   r   Ú<module>r_      sF   ðß  „ ƒ	ã ç BÑ Bð ‡�ñó ðòò ò ò ó r0   