Ë
    ûûàg—  ã                   ó   — d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	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 d d
lmZmZ d dlmZ e
j0                  j3                  dddg«      e
j0                  j3                  dddg«      e
j0                  j3                  dg d¢«      d„ «       «       «       Zd„ Ze
j0                  j3                  dddg«      e
j0                  j3                  dej8                  dfej:                  dfg«      d„ «       «       Zy)é    N)ÚANYÚpatch)Úget_user_model)ÚAnonymousUser)Úreverse)ÚassertTemplateUsed)Ú"AUTHENTICATION_METHODS_SESSION_KEY)Úcontext)Úcomplete_social_login)ÚSocialAccountÚSocialToken)ÚAuthProcessÚwith_emailaddressFTÚauto_connectÚsetting)Úoffú	on-globalúon-providerc
                 ó8  — d|_         d|_        d|_        dh|_        d|_        d|_        d|_        |dk(  rd|_        nC|dk(  r7t        j                  |j                  «      |_
        d|j                  d   d<   nd|_        ||_         ||	¬	«      }
|
j                  «       sJ ‚ ||
j                  d
d¬«      }|j                  d«      }t        «       |_        t#        j$                  |«      5  t'        d«      5 }t'        d«      5 }t)        ||«      }ddd«       ddd«       ddd«       |
j+                  «        |dk(  r0d   t-        d«      k(  sJ ‚j.                  rJ ‚j.                  rJ ‚y|	rd   dk(  sJ ‚|
j                  «       s'J ‚|
j                  «       rJ ‚d   t-        d«      k(  sJ ‚t1        «       j2                  j5                  «       dk(  sJ ‚t6        j2                  j9                  |
j:                  ¬«      j=                  «       |k(  sJ ‚t>        j2                  j9                  |
j:                  ¬«      j=                  «       |k(  sJ ‚j.                  |k(  sJ ‚j.                  rJ ‚y# 1 sw Y   �ŒcxY w# 1 sw Y   �ŒhxY w# 1 sw Y   �ŒmxY w)zyTests that when an already existing email is given at the social signup
    form, enumeration preventation kicks in.
    TFÚemailÚ	mandatoryr   r   Úopenid_connectÚEMAIL_AUTHENTICATION)r   úunittest-server)r   ÚproviderÚ
with_tokenú/z9allauth.socialaccount.signals.social_account_updated.sendz7allauth.socialaccount.signals.social_account_added.sendNr   ÚlocationÚaccount_email_verification_sentz/accounts/profile/é   )Úuser)Úaccount__user) ÚACCOUNT_EMAIL_REQUIREDÚACCOUNT_UNIQUE_EMAILÚACCOUNT_USERNAME_REQUIREDÚACCOUNT_LOGIN_METHODSÚACCOUNT_EMAIL_VERIFICATIONÚSOCIALACCOUNT_AUTO_SIGNUPÚSOCIALACCOUNT_STORE_TOKENSÚ"SOCIALACCOUNT_EMAIL_AUTHENTICATIONÚcopyÚdeepcopyÚSOCIALACCOUNT_PROVIDERSÚ/SOCIALACCOUNT_EMAIL_AUTHENTICATION_AUTO_CONNECTÚhas_usable_passwordr   Úgetr   r!   r
   Úrequest_contextr   r   Úrefresh_from_dbr   Úcalledr   ÚobjectsÚcountr   ÚfilterÚpkÚexistsr   )Údbr   ÚsettingsÚuser_factoryÚsociallogin_factoryÚclientÚrequest_factoryÚ
mailoutboxr   r   r!   ÚsocialloginÚrequestÚupdated_signalÚadded_signalÚresps                   úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/allauth/socialaccount/tests/test_login.pyÚtest_email_authenticationrF      s»  € ð$ '+€HÔ#Ø$(€HÔ!Ø).€HÔ&Ø&- Y€HÔ"Ø*5€HÔ'Ø)-€HÔ&Ø*.€HÔ'Ø�+ÒØ6:ˆÕ3Ø	�MÒ	!Ü+/¯=©=Ø×,Ñ,ó,
ˆÔ(ð
 ð 	×(Ñ(Ð)9Ñ:Ø"ò	
ð 7<ˆÔ3Ø?K€HÔ<áÐ*;Ô<€DØ×#Ñ#Ô%Ð%Ð%á%Ø�j‰jÐ#4Àô€Kð ×!Ñ! #Ó&€GÜ “?€G„LÜ	×	 Ñ	  Ó	)ñ CÜØGó
ð 	CàÜØIóð CàÜ,¨W°kÓB�÷C÷	C÷Cð 	×ÑÔØ�%ÒØ�JÑ¤7Ð+LÓ#MÒMÐMÐMØ×&Ò&Ð&Ð&Ø!×(Ò(Ð(Ð(Ð(áØ˜
Ñ#Ð';Ò;Ð;Ð;Ø×+Ñ+Ô-Ð-Ð-à×/Ñ/Ô1Ð1Ð1ð ˜
Ñ#¤wÐ/PÓ'QÒQÐQÐQÜÓ×'Ñ'×-Ñ-Ó/°1Ò4Ð4Ð4Ü×$Ñ$×+Ñ+°·±Ð+Ó9×@Ñ@ÓBÀlÒRÐRÐRä×Ñ×&Ñ&°T·W±WÐ&Ó=×DÑDÓFÈ,ÒVð	
ØVà×"Ñ" lÒ2Ð2Ð2Ø!×(Ò(Ð(Ð(Ð(÷7Cñ Cú÷	Cñ 	Cú÷Cñ Cús<   Ã/JÃ;JÄI5ÄJÄJÉ5I?É:JÊJ	ÊJÊJc                 ór   — | j                  t        d«      «      }|j                  dk(  sJ ‚t        |d«       y )NÚsocialaccount_login_cancelledéÈ   z"socialaccount/login_cancelled.html)r0   r   Ústatus_coder   )r=   rD   s     rE   Útest_login_cancelledrK   c   s5   € Ø�:‰:”gÐ=Ó>Ó?€DØ×Ñ˜sÒ"Ð"Ð"Ü�tÐAÕBó    Ústore_tokenszprocess,did_recordc	                 ó„  — ||_          |dd¬«      }	||	j                  d<   t        |	j                  j                  dd¬«      |	_        t        j                  j                  |dd¬«       |j                  d«      }
t        «       |
_        t        j                  |
«      5  t        |
|	«       d d d «       |r6|
j                  t            t"        |	j$                  j                  d	dd
œgk(  sJ ‚t         |
j                  vsJ ‚t        j                  j'                  ddd¬«      j)                  «       |k(  sJ ‚y # 1 sw Y   Œ‹xY w)Nr   Ú123)r   ÚuidÚprocessÚ456)ÚappÚtokenÚtoken_secret)r!   rP   r   r   Úsocialaccount)Úatr   ÚmethodrP   )Úaccount__uidrT   rU   )r)   Ústater   r   rS   rT   r   r4   Úcreater0   r   r!   r
   r1   r   Úsessionr	   r   Úaccountr6   r8   )r9   r<   r=   r>   r!   rQ   Ú
did_recordrM   r:   r@   rA   s              rE   Útest_record_authenticationr_   i   s<  € ð& +7€HÔ'Ù%Ð/@ÀeÔL€KØ#*€K×Ñ�iÑ Ü#Ø× Ñ ×$Ñ$¨EÀô€KÔô ×Ñ× Ñ  d°Ð@QÐ ÔRØ×!Ñ! #Ó&€GÜ “?€G„LÜ	×	 Ñ	  Ó	)ñ 4Ü˜g {Ô3÷4áØ�‰ÔAÑBäØ'×/Ñ/×8Ñ8Ø)Øñ	ðG
ò 
ð 	
ð 
ô 2¸¿¹ÑHÐHÐHä×Ñ×"Ñ"Ø e¸%ð 	#ó 	
ç
‰&‹(Øò	ðñ	÷4ð 4ús   ÂD6Ä6D?)r+   Úunittest.mockr   r   Údjango.contrib.authr   Údjango.contrib.auth.modelsr   Údjango.urlsr   ÚpytestÚpytest_django.assertsr   Úallauth.account.authenticationr	   Úallauth.corer
   Úallauth.socialaccount.helpersr   Úallauth.socialaccount.modelsr   r   Ú$allauth.socialaccount.providers.baser   ÚmarkÚparametrizerF   rK   ÚLOGINÚCONNECTr_   © rL   rE   ú<module>rp      sø   ðÛ ß $å .Ý 4Ý ã Ý 4å MÝ  Ý ?ß CÝ <ð ‡�×ÑÐ,¨u°d¨mÓ<Ø‡�×Ñ˜¨%°¨Ó7Ø‡�×Ñ˜Ò$GÓHñK)ó Ió 8ó =ðK)ò\Cð ‡�×Ñ˜¨%°¨Ó7Ø‡�×ÑØà	×	Ñ	˜DÐ!Ø	×	Ñ	˜eÐ$ðóñ&óó 8ñ&rL   