U
    [!c                     @   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k 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   p/var/www/html/crackeverytest/cet_env/lib/python3.8/site-packages/allauth/socialaccount/providers/openid/tests.pytest_discovery_failure   s
     z"OpenIDTests.test_discovery_failurec           
      C   s   | j ttjtdd}d|d ks*ttd}t }t }||_	||_
t }||_	tj|_d|_tdv}tdb}t }t }	||_|	|_i |_	tjd	gi|	_	| j td
}| j|ddd t jjd	d W 5 Q R X W 5 Q R X W 5 Q R X 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   AssertionErrorr	   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   sL     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   sB  t dd  | jttjtdd}W 5 Q R X d|d ks@t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 5 Q R X W 5 Q R X W 5 Q R X d S )Nz8allauth.socialaccount.providers.openid.views.QUERY_EMAILTr   r   r   r   r   r   r    r!   zraymond@example.comr"   r:   Z	123456789r#   r$   Fr%   )Zuser__first_namer9   )r	   r   r   r   r   r&   r   r'   r   r(   r)   endpointZ
server_urlr   r*   r+   r,   r-   r   ZCONTACT_EMAILr.   r/   r   r0   r1   ZassertEqual
extra_data)r   r   r2   r   r)   r=   r3   r4   r5   r6   r7   Zsocialaccountr   r   r    test_login_with_extra_attributesB   sf        z,OpenIDTests.test_login_with_extra_attributesN)	__name__
__module____qualname__r   r   r8   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   