a
    Qx_		                     @   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)ZSOCIALACCOUNT_AUTO_SIGNUPZ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   b/var/www/html/Ranjet/env/lib/python3.9/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P}||j_| t |||| W d    n1 s0    Y  W d    n1 s0    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   )Z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   Z_loginZlogin)processZ
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)Z*allauth.socialaccount.providers.ynab.viewsr   r
   r   getr   provideriddictget_providerZget_appr   r   Zreturn_valueZassertRaisesr   Zcomplete_login)	r   r   r   requestZadapterZappr   Zresponse_with_401Zpatched_requestsr   r   r   test_ynab_compelete_login_401'   s&    
z'YNABTests.test_ynab_compelete_login_401N)r   r   r   r   r    Zprovider_idr   r$   r   r   r   r   r      s   r   )
__future__r   r   Zrequests.exceptionsr   Zdjango.test.clientr   Zdjango.test.utilsr   Zdjango.urlsr   Zallauth.socialaccount.modelsr   Zallauth.socialaccount.testsr	   Zallauth.testsr
   r   r   r   r   r   r   r   r   r   <module>   s   