a
    Qx_                     @   s   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 dd	lmZ dd
lmZ G dd deZdS )    )expectedFailure)override_settings)reverse)consumer)SocialAccount)MockTestCasepatch)get_user_model   )views)AXAttributec                
   @   sN   e Zd Zdd Zedd Zeeddeddd	d
gdgiiddd ZdS )OpenIDTestsc                 C   s2   | j tdtdd}| d|jd jv  dS )z
        This used to generate a server 500:
        DiscoveryFailure: No usable OpenID services found
        for http://www.google.com/
        Zopenid_loginzhttp://www.google.comopenidr   ZformN)clientpostr   dictZ
assertTruecontexterrors)selfresp r   d/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/openid/tests.pytest_discovery_failure   s    z"OpenIDTests.test_discovery_failurec           
   
   C   s8  | j ttjtdd}d|d v s*J td}t }t }||_||_	t }||_t
j|_d|_td}tdl}t }t }	||_|	|_i |_tjd	gi|	_| j td
}| j|ddd t jjd	d W d    n1 s0    Y  W d    n1 s
0    Y  W d    n1 s*0    Y  d S )Nhttp://me.yahoo.comr   login.yahooapislocation=allauth.socialaccount.providers.openid.views._openid_consumerhttp://dummy/john/9allauth.socialaccount.providers.openid.utils.SRegResponse:allauth.socialaccount.providers.openid.utils.FetchResponseraymondopenid_callback/accounts/profile/FZfetch_redirect_response)Z
first_name)r   r   r   r   loginr   r	   r   return_valuecompleter   SUCCESSstatusidentity_urlfromSuccessResponser   PERSON_FIRST_NAMEassertRedirectsr
   objectsget)
r   r   consumer_mockr   r(   complete_responsesr_mockfr_mock	sreg_mockax_mockr   r   r   
test_login   sJ    zOpenIDTests.test_loginr   ZSERVERSZyahooZYahoor   )phone)http://axschema.org/contact/phone/defaultT)idnameZ
openid_urlZextra_attributes)ZSOCIALACCOUNT_PROVIDERSc              
   C   s  t dd* | jttjtdd}W d    n1 s:0    Y  d|d v sTJ t d&}t }t }t }||_||_	t }||_||_
d|j
_tj|_d|_t d	}t d
}t }	t }
|	|_|
|_i |	_tjdgtjdgddgi|
_| jtd}| j|ddd tjjdd}| |jdd W d    n1 sL0    Y  W d    n1 sl0    Y  W d    n1 s0    Y  d S )Nz8allauth.socialaccount.providers.openid.views.QUERY_EMAILTr   r   r   r   r   r   r    r!   zraymond@example.comr"   r9   Z	123456789r#   r$   Fr%   )Zuser__first_namer8   )r	   r   r   r   r   r&   r   r   r'   r(   endpointZ
server_urlr   r)   r*   r+   r,   r   ZCONTACT_EMAILr-   r.   r   r/   r0   ZassertEqual
extra_data)r   r   r1   r   r(   r<   r2   r3   r4   r5   r6   Zsocialaccountr   r   r    test_login_with_extra_attributesB   s^    "z,OpenIDTests.test_login_with_extra_attributesN)	__name__
__module____qualname__r   r   r7   r   r   r>   r   r   r   r   r      s&   
%r   N)Zunittestr   Zdjango.testr   Zdjango.urlsr   Zopenid.consumerr   Zallauth.socialaccount.modelsr   Zallauth.testsr   r   r	   Zallauth.utilsr
    r   utilsr   r   r   r   r   r   <module>   s   