Ë
    ûûàg  ã                   ó¢   — d dl mZ d dlZd dlmZ d dlmZ d„ Zd„ Zd„ Z	ej                  j                  dd	d
g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)é    )ÚANYN)Úuser_logged_in)ÚAuthenticationResponsec                 óž   — |j                   | d«      i d¬«      }|j                  dk(  sJ ‚|j                  «       dddddœddd	dœgd
œk(  sJ ‚y )Núheadless:account:loginúapplication/json©ÚdataÚcontent_typeé�  zThis field is required.ÚrequiredÚusername)ÚmessageÚcodeÚparamÚpassword©ÚstatusÚerrors)ÚpostÚstatus_codeÚjson)Úheadless_reverseÚclientÚresps      úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/allauth/headless/account/tests/test_login.pyÚtest_auth_password_input_errorr   	   s   € Ø�;‰;ÙÐ1Ó2ØØ'ð ó €Dð
 ×Ñ˜sÒ"Ð"Ð"Ø�9‰9‹;Øð 5Ø"Ø#ñð 5Ø"Ø#ñð
ñò ð ñ ó    c                 ó¾   — dh|_         |j                   | d«      |j                  ddœd¬«      }|j                  dk(  sJ ‚|j	                  «       ddd	d
dœgdœk(  sJ ‚y )NÚemailr   Úwrong©r    r   r   r	   r   r   ú@The email address and/or password you specified are not correct.Úemail_password_mismatch)r   r   r   r   )ÚACCOUNT_LOGIN_METHODSr   r    r   r   )r   r   ÚuserÚsettingsr   s        r   Útest_auth_password_bad_passwordr(   !   s‡   € Ø&- Y€HÔ"Ø�;‰;ÙÐ1Ó2à—Z‘ZØñ
ð (ð ó €Dð ×Ñ˜sÒ"Ð"Ð"Ø�9‰9‹;Øð $Ø]Ø1ñð
ñ	ò 	ð 	ñ 	r   c           	      óÔ  — dh|_         | j                   |d«      |j                  |dœd¬«      }|j                  dk(  sJ ‚| j	                   |d«      d¬«      }|j                  dk(  sJ ‚||fD ]w  }i }	|d	k(  r||k(  r	t
        |	d
<   |j                  «       d|j                  t        |«      |j                  |j                  ddœt
        |j                  ddœgdœddi|	¥dœk(  rŒwJ ‚ y )Nr    r   r"   r   r	   éÈ   z headless:account:current_session)r   ÚappÚsession_tokenT)ÚidÚdisplayr    r   Úhas_usable_passwordr   )Úatr    Úmethod)r&   ÚmethodsÚis_authenticated)r   r
   Úmeta)
r%   r   r    r   Úgetr   r   ÚpkÚstrr   )
r   r&   Úuser_passwordr'   r   Úheadless_clientÚ
login_respÚsession_respr   Ú
extra_metas
             r   Útest_auth_password_successr=   8   s0  € ð '. Y€HÔ"Ø—‘ÙÐ1Ó2à—Z‘ZØ%ñ
ð (ð ó €Jð ×!Ñ! SÒ(Ð(Ð(Ø—:‘:ÙÐ;Ó<Ø'ð ó €Lð ×#Ñ# sÒ*Ð*Ð*Ø˜\Ð*ò 
ˆØˆ
Ø˜eÒ#¨°
Ò(:ô +.ˆJ�Ñ'Ø�y‰y‹{Øð Ÿ'™'Ü" 4›yØ!ŸZ™ZØ $§¡Ø+/ñô "Ø!%§¡Ø",ñðñð  (¨Ð<°Ð<ñ%
ó 
ð 	
ð 
ñ
r   zis_active,status_code)Fi‘  )Tr*   c                 ó¨   — ||_         |j                  dg¬«       | j                   |d«      |j                  |dœd¬«      }|j                  |k(  sJ ‚y )NÚ	is_active)Úupdate_fieldsr   )r   r   r   r	   )r?   Úsaver   r   r   )r   r&   r8   r'   r   r?   r   r   s           r   Ú test_auth_password_user_inactiverB   f   sa   € ð €D„NØ‡I�I˜[˜M€IÔ*Ø�;‰;ÙÐ1Ó2àŸ™Ø%ñ
ð (ð ó €Dð ×Ñ˜{Ò*Ð*Ñ*r   c                 ó  — ddi|_         dh|_        t        d«      D ]a  }| j                   |d«      |j                  ddœd¬	«      }|j
                  d
k(  sJ ‚|j                  «       d   |dk(  rddddœndddœgk(  rŒaJ ‚ y )NÚlogin_failedú1/m/ipr    é   r   r!   r"   r   r	   r   r   r   r$   r#   r   )r   r   r   z0Too many failed login attempts. Try again later.Útoo_many_login_attempts)r   r   )ÚACCOUNT_RATE_LIMITSr%   Úranger   r    r   r   )r   r&   r'   r   r9   Úenable_cacheÚattemptr   s           r   Útest_login_failed_rate_limitrL   w   s½   € ð %3°HÐ#=€HÔ Ø&- Y€HÔ"Ü˜“8ò 
ˆØ�{‰{ÙÐ5Ó6àŸ™Ø#ñð ,ð ó 
ˆð ×Ñ 3Ò&Ð&Ð&Ø�y‰y‹{˜8Ñ$ð ˜a’<ð	 6ØaØ'òð  RØ5ñð)
ó 
ð 	
ð 
ñ
r   c                 óÂ   — ddi|_         dh|_        t        d«      D ]@  }| j                   |d«      |j                  |dœd¬«      }|rd	nd
}	|j
                  |	k(  rŒ@J ‚ y )NÚloginrE   r    rF   r   r"   r   r	   i­  r*   )rH   r%   rI   r   r    r   )
r   r&   r8   r'   r   r9   rJ   rK   r   Úexpected_statuss
             r   Útest_login_rate_limitrP   ›   s}   € ð %,¨XÐ#6€HÔ Ø&- Y€HÔ"Ü˜“8ò 
3ˆØ�{‰{ÙÐ5Ó6àŸ™Ø)ñð ,ð ó 
ˆñ ")™#¨cˆØ×Ñ ?Ó2Ð2Ð2ñ
3r   c                 ó„   — dh|_         | j                   |d«      |j                  |dœd¬«      }|j                  dk(  sJ ‚y )Nr    r   r"   r   r	   i™  )r%   r   r    r   )Úauth_clientr&   r8   r'   r   r   s         r   Útest_login_already_logged_inrS   ³   sV   € ð '. Y€HÔ"Ø×ÑÙÐ1Ó2à—Z‘ZØ%ñ
ð (ð ó €Dð ×Ñ˜sÒ"Ð"Ñ"r   c                 ó  — dh| _         d„ }t        j                  |«       	 |j                   |d«      |j                  |dœd¬«      }|j
                  dk(  sJ ‚	 t        j                  |«       y # t        j                  |«       w xY w)Nr    c                  ó2   — | d   }t        |t        «      sJ ‚y )NÚresponse)Ú
isinstancer   )ÚkwargsrV   s     r   Úon_user_logged_inz:test_custom_post_login_response.<locals>.on_user_logged_inÇ   s   € Ø˜*Ñ%ˆÜ˜(Ô$:Ô;Ð;Ñ;r   r   r"   r   r	   r*   )r%   r   Úconnectr   r    r   Ú
disconnect)r'   r   r   r&   r8   rY   r:   s          r   Útest_custom_post_login_responser\   Â   sŽ   € ð '. Y€HÔ"ò<ô ×ÑÐ,Ô-ð5Ø—[‘[ÙÐ5Ó6àŸ™Ø)ñð ,ð !ó 
ˆ
ð ×%Ñ%¨Ò,Ð,Ñ,ä×!Ñ!Ð"3Õ4øŒ×!Ñ!Ð"3Õ4ús   ¢8A1 Á1B)Úunittest.mockr   ÚpytestÚallauth.account.signalsr   Úallauth.headless.base.responser   r   r(   r=   ÚmarkÚparametrizerB   rL   rP   rS   r\   © r   r   ú<module>rd      sb   ðÝ ã å 2Ý Aòò0ò.+
ð\ ‡�×ÑÐ0°<ÀÐ2MÓNñ+ó Oð+ò !
òH3ò0#ó5r   