
    fe                         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mZ dd	lmZ  ed
d       G d dee             Zy)    )	HTTPError)RequestFactory)override_settings)reverse)SocialToken)OAuth2TestsMixin)MockedResponseTestCasemocked_response   )YNABProviderTN)SOCIALACCOUNT_AUTO_SIGNUPACCOUNT_SIGNUP_FORM_CLASSc                   6    e Zd Zej                  Zd Zd Zd Zy)	YNABTestsc                     t        dd      S )N   z
              {"data": {
        "user":{
        "id": "abcd1234xyz5678"
                    }
                }
              }
        )r	   selfs    e/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/ynab/tests.pyget_mocked_responsezYNABTests.get_mocked_response   s    

 
	
    c                      y)NYNAB r   s    r   get_expected_to_strzYNABTests.get_expected_to_str$   s    r   c                    ddl m}  G d dt              }t               j	                  t        | j                  j                  dz         t        d            } ||      }|j                         j                  }t        d	      } |d
d      }t        |      5  | j                  t              5  |j                  |||       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   )YNABOAuth2Adapterc                       e Zd Zd Zy)CYNABTests.test_ynab_compelete_login_401.<locals>.LessMockedResponsec                 8    | j                   dk7  rt        d       y )Nr   )status_coder   r   s    r   raise_for_statuszTYNABTests.test_ynab_compelete_login_401.<locals>.LessMockedResponse.raise_for_status-   s    ##s*#D/) +r   N)__name__
__module____qualname__r#   r   r   r   LessMockedResponser    ,   s    *r   r'   _loginlogin)process
some_token)tokeni  ae  
            {"error": {
              "errors": [{
                "domain": "global",
                "reason": "authError",
                "message": "Invalid Credentials",
                "locationType": "header",
                "location": "Authorization" } ],
              "code": 401,
              "message": "Invalid Credentials" }
            })*allauth.socialaccount.providers.ynab.viewsr   r	   r   getr   provideriddictget_providerappr   r   assertRaisesr   complete_login)r   r   r'   requestadapterr3   r,   response_with_401s           r   test_ynab_compelete_login_401z'YNABTests.test_ynab_compelete_login_401'   s    	
	* 	*
 !"&&DMM$$x/0$w2G
 $G,""$((,/.

 ./ 	<""9- <&&wU;<	< 	<< <	< 	<s$   C#2CC#C 	C##C,N)	r$   r%   r&   r   r0   provider_idr   r   r9   r   r   r   r   r      s     //K
!<r   r   )requests.exceptionsr   django.test.clientr   django.test.utilsr   django.urlsr   allauth.socialaccount.modelsr   allauth.socialaccount.testsr   allauth.testsr	   r
   r   r/   r   r   r   r   r   <module>rB      sI    ) - /  4 8 C C " ""4< ( 4<4<r   