o
    ˷e	                     @   s   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	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dG dd deeZdS )    )absolute_importunicode_literals)	HTTPError)RequestFactory)override_settings)reverse)SocialToken)OAuth2TestsMixin)MockedResponseTestCasepatch   )YNABProviderTN)SOCIALACCOUNT_AUTO_SIGNUPACCOUNT_SIGNUP_FORM_CLASSc                   @   s"   e Zd ZejZdd Zdd ZdS )	YNABTestsc                 C   s
   t ddS )N   z
              {"data": {
        "user":{
        "id": "abcd1234xyz5678"
                    }
                }
              }
        )r
   self r   a/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/ynab/tests.pyget_mocked_response   s   zYNABTests.get_mocked_responsec           	   	   C   s   ddl m} G dd dt}t t| jjd tdd}||}|	 
|}tdd	}|d
d}td1}||j_| t |||| W d    n1 sSw   Y  W d    d S W d    d S 1 skw   Y  d S )Nr   )YNABOAuth2Adapterc                   @   s   e Zd Zdd ZdS )zCYNABTests.test_ynab_compelete_login_401.<locals>.LessMockedResponsec                 S   s   | j dkr	td d S )Nr   )status_coder   r   r   r   r   raise_for_status-   s   
zTYNABTests.test_ynab_compelete_login_401.<locals>.LessMockedResponse.raise_for_statusN)__name__
__module____qualname__r   r   r   r   r   LessMockedResponse,   s    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" }
            }z3allauth.socialaccount.providers.ynab.views.requests)*allauth.socialaccount.providers.ynab.viewsr   r
   r   getr   provideriddictget_providerget_appr   r   return_valueassertRaisesr   complete_login)	r   r   r   requestadapterappr#   response_with_401patched_requestsr   r   r   test_ynab_compelete_login_401'   s.   
"z'YNABTests.test_ynab_compelete_login_401N)r   r   r   r   r'   provider_idr   r3   r   r   r   r   r      s    r   )
__future__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   r   <module>   s   