Ë
    ûûàg±  ã            
       ó  — 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	 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 d dlmZmZ ddlmZ  edddej4                  j6                  di ddœi¬«       G d„ dee«      «       Zd„ Zy)é    )Úget_user_model)ÚTestCase)ÚRequestFactory)Úoverride_settings)Úreverse)Úapp_settings)ÚEmailAddress)Úget_adapter)ÚSocialAccount)ÚOAuth2TestsMixin)ÚMockedResponseÚmocked_responseé   )ÚFacebookProviderTNú/accounts/profile/ÚfacebookF)ÚAUTH_PARAMSÚVERIFIED_EMAIL)ÚSOCIALACCOUNT_AUTO_SIGNUPÚACCOUNT_SIGNUP_FORM_CLASSÚLOGIN_REDIRECT_URLÚACCOUNT_EMAIL_VERIFICATIONÚSOCIALACCOUNT_PROVIDERSc                   óÚ   — e Zd Zej                  ZdZdd„Zd„ Zd„ Z	d„ Z
d„ Z edd	d
ii¬«      d„ «       Zd„ Zd„ Z edd
ddiddœi¬«      d„ «       Z edddii¬«      d„ «       Zd„ Zd„ Zy)ÚFacebookTestsa³  
        {
           "id": "630595557",
           "name": "Raymond Penners",
           "first_name": "Raymond",
           "last_name": "Penners",
           "email": "raymond.penners@example.com",
           "link": "https://www.facebook.com/raymond.penners",
           "username": "raymond.penners",
           "birthday": "07/17/1973",
           "work": [
              {
                 "employer": {
                    "id": "204953799537777",
                    "name": "IntenCT"
                 }
              }
           ],
           "timezone": 1,
           "locale": "nl_NL",
           "verified": true,
           "updated_time": "2012-11-30T20:40:33+0000"
        }Nc                 ó6   — |€| j                   }t        d|«      S )NéÈ   )Úfacebook_datar   )ÚselfÚdatas     úl/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/facebook/tests.pyÚget_mocked_responsez!FacebookTests.get_mocked_response3   s   € Øˆ<Ø×%Ñ%ˆDÜ˜c 4Ó(Ð(ó    c                  ó   — y)Núraymond.penners© ©r   s    r!   Úget_expected_to_strz!FacebookTests.get_expected_to_str8   s   € Ø r#   c                 ó  — t        «       }|j                  j                  d¬«       | j                  | j	                  «       «       t
        j                  j                  d¬«      }| j                  |j                  j                  d«       y )Nr%   )ÚusernameÚ	630595557©ÚuidÚraymond)
r   ÚobjectsÚcreateÚloginr"   r   ÚgetÚassertEqualÚuserr*   )r   ÚUserÚsocialaccounts      r!   Útest_username_conflictz$FacebookTests.test_username_conflict;   sj   € ÜÓˆØ�‰×ÑÐ%6ÐÔ7Ø�
‰
�4×+Ñ+Ó-Ô.Ü%×-Ñ-×1Ñ1°kÐ1ÓBˆØ×Ñ˜×+Ñ+×4Ñ4°iÕ@r#   c                 óÎ   — | j                  | j                  «       «       t        j                  j	                  d¬«      }| j                  |j                  j                  d«       y )Nr+   r,   r%   ©r1   r"   r   r/   r2   r3   r4   r*   )r   r6   s     r!   Útest_username_based_on_providerz-FacebookTests.test_username_based_on_providerB   sM   € Ø�
‰
�4×+Ñ+Ó-Ô.Ü%×-Ñ-×1Ñ1°kÐ1ÓBˆØ×Ñ˜×+Ñ+×4Ñ4Ð6GÕHr#   c                 óÖ   — d}| j                  | j                  |¬«      «       t        j                  j	                  d¬«      }| j                  |j                  j                  d«       y )Nz0{"id": "1234567", "name": "Harvey McGillicuddy"}©r    Ú1234567r,   Úharveyr9   )r   r    r6   s      r!   Ú0test_username_based_on_provider_with_simple_namez>FacebookTests.test_username_based_on_provider_with_simple_nameG   sV   € ØAˆØ�
‰
�4×+Ñ+°Ð+Ó6Ô7Ü%×-Ñ-×1Ñ1°iÐ1Ó@ˆØ×Ñ˜×+Ñ+×4Ñ4°hÕ?r#   r   ÚMETHODÚjs_sdk)r   c                 ó²   — t        «       j                  t        d«      «      }i |_        | j                  j                  |«      }| j                  d|v «       y )NÚaccount_loginz"appId": "app123id")r   r2   r   ÚsessionÚproviderÚmedia_jsÚ
assertTrue)r   ÚrequestÚscripts      r!   Útest_media_jszFacebookTests.test_media_jsM   sI   € ô !Ó"×&Ñ&¤w¨Ó'?Ó@ˆØˆŒØ—‘×'Ñ'¨Ó0ˆØ�‰Ð-°Ð7Õ8r#   c                 ó  — t        ddiddddœi| j                  «       «      5  | j                  j                  d ddi«      }|j                  j
                  dk(  sJ ‚|j                  j                  dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)	NÚaccess_tokenÚ	app_tokenr    Úapp123idT©Úapp_idÚis_validÚdummyúraymond.penners@example.com)r   r"   rE   Úverify_tokenr4   ÚemailÚtoken)r   r1   s     r!   Útest_token_authzFacebookTests.test_token_authZ   s–   € ÜØ˜[Ð)àØ(Ø $ñðð ×$Ñ$Ó&ó	
ñ 	0ð —M‘M×.Ñ.¨t°nÀgÐ5NÓOˆEØ—:‘:×#Ñ#Ð'DÒDÐDÐDØ—;‘;×$Ñ$¨Ò/Ð/Ñ/÷	0÷ 	0ñ 	0ús   £ABÂBc                 ó2  — | j                   j                  t        d«      «      }t        ddiddddœi| j	                  «       «      5  | j                   j                  t        d«      dd	i¬
«      }| j                  |dd¬«       d d d «       y # 1 sw Y   y xY w)NrC   rL   rM   r    rN   TrO   Úfacebook_login_by_tokenrR   r<   r   F©Úfetch_redirect_response)Úclientr2   r   r   r"   ÚpostÚassertRedirects)r   Úresps     r!   Útest_login_by_tokenz!FacebookTests.test_login_by_tokeni   s¨   € Ø�{‰{�‰œw Ó7Ó8ˆÜØ˜[Ð)àØ(Ø $ñðð ×$Ñ$Ó&ó	
ñ 	ð —;‘;×#Ñ#ÜÐ1Ó2Ø$ gÐ.ð $ó ˆDð × Ñ ØÐ*ÀEð !ô ÷	÷ 	ñ 	ús   Á=BÂBÚ	auth_typeÚreauthenticateF)r@   r   r   c                 ób  — | j                   j                  t        d«      «      }|j                  d   d   d   }t	        ddiddd	d
œid|i| j                  «       «      5  | j                   j                  t        d«      ddi¬«      }| j                  |dd¬«       d d d «       y # 1 sw Y   y xY w)NrC   Úfb_dataÚloginOptionsÚ
auth_noncerL   rM   r    rN   TrO   rY   rR   r<   r   FrZ   )r\   r2   r   Úcontextr   r"   r]   r^   )r   r_   Únonces      r!   Ú"test_login_by_token_reauthenticatez0FacebookTests.test_login_by_token_reauthenticate}   sÊ   € ð �{‰{�‰œw Ó7Ó8ˆØ—‘˜YÑ'¨Ñ7¸ÑEˆÜØ˜[Ð)àØ(Ø $ñðð ˜5Ð!Ø×$Ñ$Ó&ó

ñ 	ð —;‘;×#Ñ#ÜÐ1Ó2Ø$ gÐ.ð $ó ˆDð × Ñ ØÐ*ÀEð !ô ÷	÷ 	ñ 	ús   Á=B%Â%B.r   Tc                 óZ   — | j                  «       }| j                  |j                  «       y ©N)Ú_login_verifiedrG   Úverified©r   Úemailaddresss     r!   Útest_login_verifiedz!FacebookTests.test_login_verifiedœ   s"   € à×+Ñ+Ó-ˆØ�‰˜×-Ñ-Õ.r#   c                 óZ   — | j                  «       }| j                  |j                  «       y rk   )rl   ÚassertFalserm   rn   s     r!   Útest_login_unverifiedz#FacebookTests.test_login_unverified¡   s$   € Ø×+Ñ+Ó-ˆØ×Ñ˜×.Ñ.Õ/r#   c                 ó€   — | j                  | j                  «       «       t        j                  j	                  d¬«      S )NrS   )rU   )r1   r"   r	   r/   r2   r'   s    r!   rl   zFacebookTests._login_verified¥   s2   € Ø�
‰
�4×+Ñ+Ó-Ô.Ü×#Ñ#×'Ñ'Ð.KÐ'ÓLÐLr#   rk   )Ú__name__Ú
__module__Ú__qualname__r   ÚidÚprovider_idr   r"   r(   r7   r:   r?   r   rJ   rW   r`   ri   rp   rs   rl   r&   r#   r!   r   r      sÌ   „ ð #×%Ñ%€Kð€Mó0)ò
!òAòIò
@ñ àØ˜(ðð!
ôñ9óð9ò0òñ( àØ"Ø +Ð-=Ð>Ø"'ñð!
ôñóðñ, °
Ð=MÈtÐ<TÐ/UÔVñ/ó Wð/ò0óMr#   r   c                 ó€  — di dddigdœi|_         | j                  d«      }t        |«      }|j                  |t        j
                  «      }ddi} |d	d
dddœ«      5  |j                  ||«      }|j                  j                  d	k(  sJ ‚|j                  d   j                  d
k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   FÚ	client_idÚ123)r   r   ÚAPPSú/Úid_tokenÚXÚf123z
e@mail.orgÚJohnÚDoe)ÚsubrU   Ú
given_nameÚfamily_namer   )r   r2   r
   Úget_providerr   rx   rT   Úaccountr-   Úemail_addressesrU   )	ÚrfÚdbÚsettingsÚjwt_decode_bypassrH   ÚadapterrE   rV   r1   s	            r!   Útest_limited_tokenr�   ª   sÚ   € àØØ#Ø! 5Ð)Ð*ñ
ð(€HÔ$ð �f‰f�S‹k€GÜ˜'Ó"€GØ×#Ñ# GÔ-=×-@Ñ-@ÓA€HØ˜Ð€EÙ	àØ!Ø Ø ñ		
ó
ñ 
>ð ×%Ñ% g¨uÓ5ˆØ�}‰}× Ñ  FÒ*Ð*Ð*Ø×$Ñ$ QÑ'×-Ñ-°Ò=Ð=Ñ=÷
>÷ 
>ñ 
>ús   ÁAB4Â4B=)Údjango.contrib.authr   Údjango.testr   Údjango.test.clientr   Údjango.test.utilsr   Údjango.urlsr   Úallauth.accountr   Úaccount_settingsÚallauth.account.modelsr	   Úallauth.socialaccount.adapterr
   Úallauth.socialaccount.modelsr   Úallauth.socialaccount.testsr   Úallauth.testsr   r   rE   r   ÚEmailVerificationMethodÚNONEr   r�   r&   r#   r!   ú<module>rž      s}   ðÝ .Ý  Ý -Ý /Ý å <Ý /Ý 5Ý 6Ý 8ß 9å &ñ Ø"Ø"Ø+Ø/×GÑG×LÑLØ'¸ÈuÑ)UÐVôôOMÐ$ hó OMóðOMód>r#   