Ë
    ûûàg  ã                   óx   — d dl mZmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zy)é    )ÚANYÚpatch)ÚUser)ÚEmailAddressÚEmailConfirmationHMAC)Úuser_logged_in)ÚAuthenticationResponse)ÚFlowc                 óh  — d„ }t        j                  |«       	 |j                   |d«      d |«        |«       dœd¬«      }|j                  dk(  sJ ‚t        j
                  j                  d¬«      j                  «       sJ ‚	 t        j                  |«       y # t        j                  |«       w xY w)	Nc                  ó2   — | d   }t        |t        «      sJ ‚y )NÚresponse)Ú
isinstancer	   )Úkwargsr   s     úh/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/allauth/headless/account/tests/test_signup.pyÚon_user_logged_inz&test_signup.<locals>.on_user_logged_in   s   € Ø˜*Ñ%ˆÜ˜(Ô$:Ô;Ð;Ñ;ó    úheadless:account:signupÚwizard©ÚusernameÚemailÚpasswordúapplication/json©ÚdataÚcontent_typeéÈ   ©r   )	r   ÚconnectÚpostÚstatus_coder   ÚobjectsÚfilterÚexistsÚ
disconnect)	ÚdbÚclientÚemail_factoryÚpassword_factoryÚsettingsÚheadless_reverseÚheadless_clientr   Úresps	            r   Útest_signupr.      sª   € ò<ô ×ÑÐ,Ô-ð5Ø�{‰{ÙÐ6Ó7à$Ù&›Ù,Ó.ñð
 ,ð ó 
ˆð ×Ñ 3Ò&Ð&Ð&Ü�|‰|×"Ñ"¨HÐ"Ó5×<Ñ<Ô>Ð>Ñ>ä×!Ñ!Ð"3Õ4øŒ×!Ñ!Ð"3Õ4ús   šA)B ÂB1c                 ó2  — d|_         d|_        d|_         |«       }|j                   |d«      | |«       dœd¬«      }|j                  dk(  sJ ‚t
        j                  j                  |¬	«      j                  «       sJ ‚|j                  «       }	t        d
„ |	d   d   D «       «      }
|
d   dk(  sJ ‚t        j                  j                  |¬	«      }t        |«      j                  }|j                   |d«      |¬«      }|j                  dk(  sJ ‚|j                  «       |t        dœddiddœk(  sJ ‚|j                   |d«      d|id¬«      }|j                  dk(  sJ ‚|j                  «       }	|	d   d   sJ ‚|j!                  «        |j"                  sJ ‚y )NÚ	mandatoryFTr   ©r   r   r   r   é‘  )r   c              3   óD   K  — | ]  }|j                  d «      sŒ|–— Œ y­w)Ú
is_pendingN)Úget)Ú.0Úfs     r   ú	<genexpr>z6test_signup_with_email_verification.<locals>.<genexpr>A   s   è ø€ ÒI�q°Q·U±U¸<Õ5H”ÑIùs   ‚ ™ r   ÚflowsÚidÚverify_emailzheadless:account:verify_email)ÚHTTP_X_EMAIL_VERIFICATION_KEYr   )r   ÚuserÚis_authenticating)r   ÚmetaÚstatusÚkeyr?   Úis_authenticated)ÚACCOUNT_EMAIL_VERIFICATIONÚACCOUNT_USERNAME_REQUIREDÚ#ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATIONr    r!   r   r"   r#   r$   ÚjsonÚnextr   r5   r   rA   r   Úrefresh_from_dbÚverified)r&   r'   r(   r)   r*   r+   r,   r   r-   r   ÚflowÚaddrrA   s                r   Ú#test_signup_with_email_verificationrL   )   sÉ  € ð +6€HÔ'Ø).€HÔ&Ø37€HÔ0Ù‹O€EØ�;‰;ÙÐ2Ó3àÙ(Ó*ñ
ð (ð ó €Dð ×Ñ˜sÒ"Ð"Ð"Ü�<‰<×Ñ UÐÓ+×2Ñ2Ô4Ð4Ð4Ø�9‰9‹;€DÜÑI˜D ™L¨Ñ1ÔIÓJ€DØ�‰:˜Ò'Ð'Ð'Ü×Ñ×#Ñ#¨%Ð#Ó0€DÜ
 Ó
%×
)Ñ
)€CØ�:‰:ÙÐ8Ó9Ø&)ð ó €Dð ×Ñ˜sÒ"Ð"Ð"Ø�9‰9‹;àÜñ
ð % dÐ+Øñò ð ð ð �;‰;ÙÐ8Ó9Ø�Sˆ\Ø'ð ó €Dð
 ×Ñ˜sÒ"Ð"Ð"Ø�9‰9‹;€DØ�‰<Ð*Ò+Ð+Ð+Ø×ÑÔØ�=Š=Ð‰=r   c	                 óD  — d|_         d|_        d|_        |j                   |d«      |j                   |«       dœd¬«      }	t        |«      dk(  sJ ‚d	|d
   j                  v sJ ‚|	j                  dk(  sJ ‚|	j                  «       }
|
d   d   D �cg c]  }|d   t        j                  k(  sŒ|‘Œ c}d
   d   sJ ‚|j                   |d«      «      }	|	j                  «       }
|
d   d   D �cg c]  }|d   t        j                  k(  sŒ|‘Œ c}d
   d   sJ ‚y c c}w c c}w )Nr0   FTr   r1   r   r   é   z2an account using that email address already existsr   r2   r   r9   r:   r4   z headless:account:current_session)rC   rD   ÚACCOUNT_PREVENT_ENUMERATIONr    r   ÚlenÚbodyr!   rF   r
   ÚVERIFY_EMAILr5   )r&   r'   r(   r)   r*   r+   r,   r=   Ú
mailoutboxr-   r   r7   s               r   Útest_signup_prevent_enumerationrT   ^   sF  € ð +6€HÔ'Ø).€HÔ&Ø+/€HÔ(Ø�;‰;ÙÐ2Ó3à—Z‘ZÙ(Ó*ñ
ð (ð ó €Dô ˆz‹?˜aÒÐÐØ?À:ÈaÁ=×CUÑCUÑUÐUÐUØ×Ñ˜sÒ"Ð"Ð"Ø�9‰9‹;€DØ˜F‘| GÑ,ÖM�!°°$±¼4×;LÑ;LÓ0LŠAÒMÈaÑPØòð ð ð �:‰:Ñ&Ð'IÓJÓK€DØ�9‰9‹;€DØ˜F‘| GÑ,ÖM�!°°$±¼4×;LÑ;LÓ0LŠAÒMÈaÑPØòð ñ ùò Nùò
 Ns   ÂDÂ,DÃ,DÄDc                 óê   — ddi|_         t        d«      D ]\  }|j                   |d«      d|› � |«        |«       dœd¬«      }	|rd	nd
}
|	j                  |
k(  sJ ‚|	j	                  «       d   |
k(  rŒ\J ‚ y )NÚsignupz1/m/ipé   r   r   r   r   r   i­  r   r@   )ÚACCOUNT_RATE_LIMITSÚranger    r!   rF   )r&   r'   r(   r)   r*   r+   Úenable_cacher,   Úattemptr-   Úexpected_statuss              r   Útest_signup_rate_limitr]   ‚   s—   € ð %-¨hÐ#7€HÔ Ü˜“8ò 8ˆØ�{‰{ÙÐ6Ó7à$ W IÐ.Ù&›Ù,Ó.ñð
 ,ð ó 
ˆñ ")™#¨cˆØ×Ñ ?Ò2Ð2Ð2Ø�y‰y‹{˜8Ñ$¨Ó7Ð7Ð7ñ8r   c                 ó$  — t        d«      5 }d|_        |j                   |d«      d |«        |«       dœd¬«      }d d d «       j                  dk(  sJ ‚t        j
                  j                  d¬	«      j                  «       rJ ‚y # 1 sw Y   ŒKxY w)
Nz@allauth.account.adapter.DefaultAccountAdapter.is_open_for_signupFr   r   r   r   r   i“  r   )r   Úreturn_valuer    r!   r   r"   r#   r$   )	r&   r'   r(   r)   r*   r+   r,   Úiofsr-   s	            r   Útest_signup_closedra   œ   s    € ô 
ØJó
ð 
à	Ø!ˆÔØ�{‰{ÙÐ6Ó7à$Ù&›Ù,Ó.ñð
 ,ð ó 
ˆ÷	
ð ×Ñ˜sÒ"Ð"Ð"Ü�|‰|×"Ñ"¨HÐ"Ó5×<Ñ<Ô>Ð>Ð>Ð>÷
ð 
ús   Œ0BÂBc                 ó¤   — |j                   |d«      d |«        |«       dœd¬«      }|j                  dk(  sJ ‚|j                  «       ddik(  sJ ‚y )Nr   r   r   r   r   i™  r@   )r    r!   rF   )r&   Úauth_clientr(   r)   r*   r+   r,   r-   s           r   Útest_signup_while_logged_inrd   ¶   sh   € ð ×ÑÙÐ2Ó3à Ù"“_Ù(Ó*ñ
ð
 (ð ó €Dð ×Ñ˜sÒ"Ð"Ð"Ø�9‰9‹;˜8 S˜/Ò)Ð)Ñ)r   N)Úunittest.mockr   r   Údjango.contrib.auth.modelsr   Úallauth.account.modelsr   r   Úallauth.account.signalsr   Úallauth.headless.base.responser	   Úallauth.headless.constantsr
   r.   rL   rT   r]   ra   rd   © r   r   ú<module>rl      s7   ðß $å +ç FÝ 2Ý AÝ +ò5ò<2òj!òH8ò4?ó4*r   