
    f'                         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 ej                  j                  dd	d
g      d        Zd Zd Zej                  j                  dg d      d        Zy)    )patch)reverseN)assertTemplateUsed)flows)SocialAccount)AuthProcessreauthentication_requiredFTc                 `   d|_         ||_        t        j                  j	                  dd|      }t        j                  j	                  dd|      }| j                  t        d            }t        |d       | j                  t        d      d|j                  i      }|rut        j                  j                  |j                  	      j                         sJ t        j                  j                  |j                  	      j                         sJ y t        j                  j                  |j                  	      j                         rJ t        j                  j                  |j                  	      j                         sJ t        |      d
k(  sJ |d   j                  dk(  sJ y )NT123zother-server)uidprovideruser456socialaccount_connectionszsocialaccount/connections.htmlaccount)pk   r   z.[example.com] Third-Party Account Disconnected)ACCOUNT_EMAIL_NOTIFICATIONS!ACCOUNT_REAUTHENTICATION_REQUIREDr   objectscreategetr   r   postr   filterexistslensubject)auth_clientr   settings
mailoutboxr	   account_to_delaccount_to_keepresps           c/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/tests/test_connect.pytest_disconnectr%      s   +/H(1JH."**11N 2 N $++22N 3 O ??7#>?@Dt=>+,y.:K:K.LD !$$++~/@/@+AHHJJJ$$++/A/A+BIIKKK ((//>3D3D/ELLNNN$$++/A/A+BIIKKK:!###!}$$(XXXX    c                    d|_          || d      }t        j                  j                  |      j	                         rJ |j
                  dk(  sJ |d   t        d      k(  sJ | j                  |d   d|i      }|j
                  dk(  sJ |d   t        d	      k(  sJ t        j                  j                  |      j	                         sJ y )
NTconnectprocessr   .  locationaccount_reauthenticatepasswordr   )r   r   r   r   r   status_coder   r   )r   r   provider_callback_responser   user_passwordr#   s         r$   "test_connect_with_reauthenticationr3   &   s     26H.%k9ED$$+++6==???s"""
w'?@@@@D,z=.IJDs"""
w'BCCCC  ''T'299;;;r&   c                 $   d|_         d|_         || d      }|j                  dk(  sJ t        j                  j                  |      j                         sJ |d   t        d      k(  sJ t        |      d	k(  sJ |d
   j                  dk(  sJ y )NTFr(   r)   r,   r+   r-   r   r   r   z+[example.com] Third-Party Account Connected)
r   r   r0   r   r   r   r   r   r   r   )r   r   r1   r   r2   r    r#   s          r$   test_connectr5   4   s     ,0H(16H.%k9EDs"""  ''T'299;;;
w'BCCCCz?aa=  $QQQQr&   z4email_authentication,account_exists, expected_action))FFadded)FTupdated)TFr6   )TTr7   c                 .   ||_          ||j                  d      }|r#|j                  }||_        |j	                          t
        j                  |j                  d<   | j                  d      }	||	_        t        d      5 }
t        j                  j                  |	|       |
j                  d   d   d   |k(  sJ 	 d d d        t        j                  j!                  ||j                  j"                  	      j%                         sJ y # 1 sw Y   OxY w)
Nzunittest-server)emailr   r*   /z9allauth.account.adapter.DefaultAccountAdapter.add_messager   message_contextaction)r   r   )"SOCIALACCOUNT_EMAIL_AUTHENTICATIONr9   r   r   saver   CONNECTstater   r   r   logincomplete_login	call_argsr   r   r   r   r   )request_factorysociallogin_factoryr   r   email_authenticationaccount_existsexpected_actionsocialloginr   requestadd_messages              r$   $test_connect_vs_email_authenticationrL   A   s    $ 3GH/%DJJARSK%%#.#6#6Ki !!#&GGL	C
 X	""7K8$$Q'(9:8DWWW	X
   ''T{7J7J7N7N'OVVXXXX Xs   ;DD)unittest.mockr   django.urlsr   pytestpytest_django.assertsr   allauth.socialaccount.internalr   allauth.socialaccount.modelsr   .allauth.socialaccount.providers.base.constantsr   markparametrizer%   r3   r5   rL    r&   r$   <module>rW      s       4 0 6 F 4udmDY EY0<
R :YYr&   