
    )Jf                         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 dd
lmZ  G d de          ZdS )    )Mockpatch)get_user_model)override_settings)reverse)consumer)SocialAccount)TestCase   )views)AXAttributec            
       j    e Zd Zd Zd Z edd eddddg	          gii
          d             ZdS )OpenIDTestsc                     | j                             t          d          t          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/
        openid_loginzhttp://www.google.comopenidr   formN)clientpostr   dict
assertTruecontexterrors)selfresps     o/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/openid/tests.pytest_discovery_failurez"OpenIDTests.test_discovery_failure   s]     {N##T1H%I%I%I
 
 	DL$8$??@@@@@    c                    | j                             t          t          j                  t          d                    }d|d         v sJ t          d          5 }t                      }t                      }||_        ||_	        t                      }||_        t          j        |_        d|_        t          d          5 }t          d          5 }t                      }t                      }	||_        |	|_        i |_        t          j        d	gi|	_        | j                             t          d
                    }|                     |dd           t%                      j                            d	           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )N!https://steamcommunity.com/openidr   steamcommunity.com/openid/login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fetch_redirect_response)
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   r0   complete_responsesr_mockfr_mock	sreg_mockax_mocks
             r   
test_loginzOpenIDTests.test_login   s   {EK  $.Q"R"R"R
 
 1D4DDDDDK
 
 	GVVFvvH)/M&&FO $$5H!'/'7$-A*K  GP  G $I"ffG2;G/29G/-/I*,7,II;+WG(;++G4E,F,FGGD((,05 )   
 #$$,00I0FFFG G G G G G G G G G G G G G GG G G G G G G G G G G G G G G	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	Gs\   A'F:F"B,F?F"FF"FF"F:"F&	&F:)F&	*F::F>F>r   SERVERSyahooYahoohttp://me.yahoo.com)phone)http://axschema.org/contact/phone/defaultT)idname
openid_urlextra_attributes)SOCIALACCOUNT_PROVIDERSc           	         t          dd          5  | j                            t          t          j                  t          d                    }d d d            n# 1 swxY w Y   d|d         v sJ t          d          5 }t                      }t                      }t                      }||_        ||_	        t                      }||_        ||_
        d|j
        _        t          j        |_        d	|_        t          d
          5 }t          d          5 }t                      }	t                      }
|	|_        |
|_        i |	_        t"          j        dgt"          j        dgddgi|
_        | j                            t          d                    }|                     |dd           t*          j                            d          }|                     |j                            d          d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nz8allauth.socialaccount.providers.openid.views.QUERY_EMAILTr!   r   r"   r#   r$   rC   r%   r&   r'   zraymond@example.comr(   rE   	123456789r)   r*   Fr+   )user__first_namerD   )r   r   r   r   r   r.   r   r   r/   r0   endpoint
server_urlr   r1   r2   r3   r4   r   CONTACT_EMAILr5   r6   r	   r7   r8   assertEqual
extra_data)r   r   r9   r   r0   rN   r:   r;   r<   r=   r>   socialaccounts               r    test_login_with_extra_attributesz,OpenIDTests.test_login_with_extra_attributesA   sp   * MtTT 	 	;##$$d2U&V&V&V D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 1D4DDDDDK
 
 '	YVVFvvHvvH)/M&&FO $$5H!)1&4I&1'/'7$-A*K  YP  Y $I"ffG2;G/29G/-/I*#14I3J#5	{Ck],G(
  ;++G4E,F,FGGD((,05 )   
 %2$9$=$=)2 %> % %M $$]%=%A%A'%J%JKXXX-Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y Y Y Y Y Y Y Y Y Y'	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Y '	Ysn   AAA"%A"BH:H"C#H?H"HH"HH"H:"H&	&H:)H&	*H::H>H>N)__name__
__module____qualname__r   r?   r   r   rT    r   r   r   r      s        	A 	A 	A#G #G #GJ D"$#8*	  !
  (-Y -Y) (-Y -Y -Yr   r   N)unittest.mockr   r   django.contrib.authr   django.testr   django.urlsr   openid.consumerr   allauth.socialaccount.modelsr	   allauth.testsr
    r   utilsr   r   rX   r   r   <module>rb      s    % % % % % % % % . . . . . . ) ) ) ) ) )       $ $ $ $ $ $ 6 6 6 6 6 6 " " " " " "            rY rY rY rY rY( rY rY rY rY rYr   