HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib/python3.10/site-packages/tornado/test/__pycache__/auth_test.cpython-310.pyc
o

�h3[�@sRddlZddlmZmZmZmZmZmZddlm	Z	ddl
mZddlm
Z
ddlmZddlmZddlmZmZdd	lmZmZmZzdd
lmZWneyWdZYnwGdd�dee�ZGd
d�de�ZGdd�dee�ZGdd�de�ZGdd�dee�ZGdd�de�Z Gdd�de�Z!Gdd�dee�Z"Gdd�dee�Z#Gdd�de�Z$Gdd �d e�Z%Gd!d"�d"ee�Z&Gd#d$�d$e&�Z'Gd%d&�d&e&�Z(Gd'd(�d(e&�Z)Gd)d*�d*e&�Z*Gd+d,�d,e�Z+Gd-d.�d.e�Z,Gd/d0�d0e�Z-Gd1d2�d2e�Z.Gd3d4�d4ee�Z/Gd5d6�d6e�Z0Gd7d8�d8e�Z1Gd9d:�d:e�Z2Gd;d<�d<e�Z3dS)=�N)�OpenIdMixin�
OAuthMixin�OAuth2Mixin�GoogleOAuth2Mixin�FacebookGraphMixin�TwitterMixin)�json_decode)�gen)�HTTPClientError)�
url_concat)�app_log)�AsyncHTTPTestCase�	ExpectLog)�RequestHandler�Application�	HTTPError)�mockc@�"eZdZdd�Zejdd��ZdS)�OpenIdClientLoginHandlercC�|�d�|_dS)N�/openid/server/authenticate)�get_url�_OPENID_ENDPOINT��self�test�r�I/usr/local/CyberCP/lib/python3.10/site-packages/tornado/test/auth_test.py�
initialize�z#OpenIdClientLoginHandler.initializeccsX�|�dd�r |j|jdd�V}|durtd��|�|�dS|��}|dus*J�dS)N�openid.mode�http_client�r!�user is None)�get_argument�get_authenticated_user�settings�	Exception�finish�authenticate_redirect)r�user�resrrr�get"s��
zOpenIdClientLoginHandler.getN��__name__�
__module__�__qualname__rr	�	coroutiner,rrrrrsrc@�eZdZdd�ZdS)�OpenIdServerAuthenticateHandlercCs$|�d�dkrtd��|�d�dS)Nr �check_authenticationzincorrect openid.mode %rz
is_valid:true)r$r'�write�rrrr�post1sz$OpenIdServerAuthenticateHandler.postN�r.r/r0r7rrrrr30�r3c@s8eZdZdd�Zdd�Zejdd��Zejdd��Zd	S)
�OAuth1ClientLoginHandlercCs.||_|�d�|_|�d�|_|�d�|_dS)N�/oauth1/server/request_token�/oauth1/server/authorize�/oauth1/server/access_token)�_OAUTH_VERSIONr�_OAUTH_REQUEST_TOKEN_URL�_OAUTH_AUTHORIZE_URL�_OAUTH_ACCESS_TOKEN_URL)rr�versionrrrr8�z#OAuth1ClientLoginHandler.initializecC�tddd�S�N�asdf�qwer��key�secret��dictr6rrr�_oauth_consumer_token>�z.OAuth1ClientLoginHandler._oauth_consumer_tokenccsX�|�dd�r |j|jdd�V}|durtd��|�|�dS|j|jdd�VdS)N�oauth_tokenr!r"r#)r$r%r&r'r(�authorize_redirect�rr*rrrr,As��
zOAuth1ClientLoginHandler.getcCs:|�dd�r
td��|tddd�krtd|��tdd�S)	N�fail_in_get_userzfailing in get_user�uiop�5678rHzincorrect access token %r�foo@example.com)�email)r$r'rL)r�access_tokenrrr�_oauth_get_user_futureMs

z/OAuth1ClientLoginHandler._oauth_get_user_futureN)	r.r/r0rrMr	r1r,rXrrrrr:7s
r:c@seZdZdZejdd��ZdS)�!OAuth1ClientLoginCoroutineHandlerzDReplaces OAuth1ClientLoginCoroutineHandler's get() with a coroutine.c
csl�|�dd�r/z|��VWdSty.}z|�d�|�d|�WYd}~dSd}~ww|��VdS)NrO�zgot exception: %s)r$r%r'�
set_statusr5rP)r�errrr,Ys�
��z%OAuth1ClientLoginCoroutineHandler.getN)r.r/r0�__doc__r	r1r,rrrrrYVsrYc@s$eZdZdd�Zdd�Zdd�ZdS)�$OAuth1ClientRequestParametersHandlercCs
||_dS�N)r>)rrBrrrrh�
z/OAuth1ClientRequestParametersHandler.initializecCrDrErKr6rrrrMkrNz:OAuth1ClientRequestParametersHandler._oauth_consumer_tokencCs,|jdtddd�tdd�d�}|�|�dS)Nzhttp://www.example.com/api/asdfrSrTrH�bar)�foo)�
parameters)�_oauth_request_parametersrLr5)r�paramsrrrr,ns
�z(OAuth1ClientRequestParametersHandler.getN)r.r/r0rrMr,rrrrr^gsr^c@r2)�OAuth1ServerRequestTokenHandlercC�|�d�dS)Nz(oauth_token=zxcv&oauth_token_secret=1234�r5r6rrrr,x�z#OAuth1ServerRequestTokenHandler.getN�r.r/r0r,rrrrrfwr9rfc@r2)�OAuth1ServerAccessTokenHandlercCrg)Nz(oauth_token=uiop&oauth_token_secret=5678rhr6rrrr,}riz"OAuth1ServerAccessTokenHandler.getNrjrrrrrk|r9rkc@�eZdZdd�Zdd�ZdS)�OAuth2ClientLoginHandlercCr)Nz/oauth2/server/authorize)rr@rrrrr�rz#OAuth2ClientLoginHandler.initializecCs|��}|dus
J�dSr_)rP)rr+rrrr,�szOAuth2ClientLoginHandler.getN)r.r/r0rr,rrrrrm�srmc@r)�FacebookClientLoginHandlercCs(|�d�|_|�d�|_|�d�|_dS)Nz/facebook/server/authorize�/facebook/server/access_tokenz/facebook/server)rr@rA�_FACEBOOK_BASE_URLrrrrr�sz%FacebookClientLoginHandler.initializeccsl�|�dd�r$|j|j��|jd|jd|�d�d�V}|�|�dS|j|j��|jdddid�dS)N�code�facebook_api_key�facebook_secret)�redirect_uri�	client_id�
client_secretrq�scopezread_stream,offline_access)rtru�extra_params)r$r%�request�full_urlr&r5rPrQrrrr,�s��
�zFacebookClientLoginHandler.getNr-rrrrrn�srnc@r2)� FacebookServerAccessTokenHandlercCs|�tddd��dS)NrFi�rW�
expires_in)r5rLr6rrrr,�sz$FacebookServerAccessTokenHandler.getNrjrrrrr{�r9r{c@r2)�FacebookServerMeHandlercCrg)Nz{}rhr6rrrr,�rizFacebookServerMeHandler.getNrjrrrrr~�r9r~c@rl)�TwitterClientHandlercCs@|�d�|_|�d�|_|�d�|_|�d�|_|�d�|_dS)Nr;�/twitter/server/access_tokenr<z/twitter/server/authenticatez/twitter/api)rr?rAr@�_OAUTH_AUTHENTICATE_URL�_TWITTER_BASE_URLrrrrr�s
zTwitterClientHandler.initializecCs
|jdS)Nr!)r&r6rrr�get_auth_http_client�r`z)TwitterClientHandler.get_auth_http_clientN)r.r/r0rr�rrrrr�src@�eZdZejdd��ZdS)�TwitterClientLoginHandlercc�D�|�dd�r|��V}|durtd��|�|�dS|��VdS�NrOr#)r$r%r'r(rPrQrrrr,���

zTwitterClientLoginHandler.getN�r.r/r0r	r1r,rrrrr���r�c@r�)� TwitterClientAuthenticateHandlerccr�r�)r$r%r'r(r)rQrrrr,�r�z$TwitterClientAuthenticateHandler.getNr�rrrrr��sr�c@r�)�%TwitterClientLoginGenCoroutineHandlerccs4�|�dd�r|��V}|�|�dS|��VdS)NrO)r$r%r(rPrQrrrr,�s
�
z)TwitterClientLoginGenCoroutineHandler.getNr�rrrrr��r�r�c@r�)�TwitterClientShowUserHandlerccs`�z|jd|�d�tddd�d�V}Wnty(|�d�|�d�YdSw|�|�dS)	Nz/users/show/%s�name�hjkl�vbnmrH�rW��zerror from twitter request)�twitter_requestr$rLr
r[r(�r�responserrrr,�s�
�
�z TwitterClientShowUserHandler.getNr�rrrrr��r�r�c@r2)�TwitterServerAccessTokenHandlercCrg)Nz8oauth_token=hjkl&oauth_token_secret=vbnm&screen_name=foorhr6rrrr,�riz#TwitterServerAccessTokenHandler.getNrjrrrrr��r9r�c@r2)�TwitterServerShowUserHandlercCs�|dkrtd��d|jjvsJ�d|jjvsJ�d|jjvs J�|�d�dks)J�|�d�d	ks2J�|�d
�dks;J�|�d�d
ksDJ�|�t||��d��dS)N�errorr��oauth_nonce�oauth_timestamp�oauth_signature�oauth_consumer_key�test_twitter_consumer_key�oauth_signature_method�	HMAC-SHA1�
oauth_version�1.0rOr���screen_namer�)rry�	argumentsr$r5rL�
capitalize)rr�rrrr,�sz TwitterServerShowUserHandler.getNrjrrrrr��r9r�c@r2)�%TwitterServerVerifyCredentialsHandlercCs�d|jjvsJ�d|jjvsJ�d|jjvsJ�|�d�dks!J�|�d�dks*J�|�d�d	ks3J�|�d
�dks<J�|�tdd
d��dS)Nr�r�r�r�r�r�r�r�r�rOr�rb�Foor�)ryr�r$r5rLr6rrrr,sz)TwitterServerVerifyCredentialsHandler.getNrjrrrrr�r9r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
�edud�dd��Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�ZdS)+�AuthTestcCs�tdtt|d�fdtt|dd�fdttdd�fdtt|d	d�fd
tt|d	d�fdttd	d�fdtt|d�fd
tt|d�fdtt|d�fdt	t|d�fdt
t|d�fdtt|d�fdtfdt
fdtfdtfdtfdtfdtfdtfg|jddddd�S)N�/openid/client/login�r�/oauth10/client/loginr�)rrB�/oauth10/client/request_params)rB�/oauth10a/client/loginz1.0az /oauth10a/client/login_coroutine�/oauth10a/client/request_params�/oauth2/client/login�/facebook/client/login�/twitter/client/login�/twitter/client/authenticate�#/twitter/client/login_gen_coroutinez/twitter/client/show_userrr;r=roz/facebook/server/mer�z"/twitter/api/users/show/(.*)\.jsonz-/twitter/api/account/verify_credentials\.jsonr��test_twitter_consumer_secret�test_facebook_api_key�test_facebook_secret)r!�twitter_consumer_key�twitter_consumer_secretrrrs)rrrLr:r^rYrmrnr�r�r�r�r3rfrkr{r~r�r�r�r!r6rrr�get_appsl
��
�
�������;�zAuthTest.get_appcC�4|jddd�}|�|jd�|�d|jdv�dS)Nr�F��follow_redirects�.z/openid/server/authenticate?�Location��fetch�assertEqualrq�
assertTrue�headersr�rrr�test_openid_redirectU�zAuthTest.test_openid_redirectcCs0|�d�}|��t|j�}|�|dd�dS)Nz�/openid/client/login?openid.mode=blah&openid.ns.ax=http://openid.net/srv/ax/1.0&openid.ax.type.email=http://axschema.org/contact/email&openid.ax.value.email=foo@example.comrVrU�r��rethrowr�bodyr��rr��parsedrrr�test_openid_get_userZs�
zAuthTest.test_openid_get_usercC�R|jddd�}|�|jd�|�|jd�d��|�d|jdv|jd�dS)	Nr�Fr�r�r��)/oauth1/server/authorize?oauth_token=zxcv�(_oauth_request_token="enhjdg==|MTIzNA=="�
Set-Cookie�r�r�rqr�r��endswithr�rrr�test_oauth10_redirecte�
����zAuthTest.test_oauth10_redirectcC�P|jdddid�}|��t|j�}|�|dd�|�|dtdd	d
��dS)Nz&/oauth10/client/login?oauth_token=zxcv�Cookie�&_oauth_request_token=enhjdg==|MTIzNA==�r�rVrUrWrSrTrH�r�r�rr�r�rLr�rrr�test_oauth10_get_usert��
zAuthTest.test_oauth10_get_usercC�\|�d�}|��t|j�}|�|dd�|�|dd�|�d|v�|�d|v�dS)Nr�r�rFrOrSr�r��r�r�rr�r�r�r�rrr�test_oauth10_request_parameters~�

z(AuthTest.test_oauth10_request_parameterscCr�)	Nr�Fr�r�r�r�r�r�r�r�rrr�test_oauth10a_redirect�r�zAuthTest.test_oauth10a_redirectNzmock package not presentc	Cs�tj�td��1}td�|_ttd��|jddd�}Wd�n1s$wY|�	|j
d�Wd�dS1s;wYdS)Nr,�boomzUncaught exceptionr�Fr�r�)r�patch�objectrfr'�side_effectrrr�r�rq)rr,r�rrr�test_oauth10a_redirect_error�s
�"�z%AuthTest.test_oauth10a_redirect_errorcCr�)Nz'/oauth10a/client/login?oauth_token=zxcvr�r�r�rVrUrWrSrTrHr�r�rrr�test_oauth10a_get_user�r�zAuthTest.test_oauth10a_get_usercCr�)Nr�r�rFrOrSr�r�r�r�rrr� test_oauth10a_request_parameters�r�z)AuthTest.test_oauth10a_request_parameterscCs$|jdddid�}|�|jd�dS)NzG/oauth10a/client/login_coroutine?oauth_token=zxcv&fail_in_get_user=truer�r�r�rZ)r�r�rqr�rrr�*test_oauth10a_get_user_coroutine_exception�s
�z3AuthTest.test_oauth10a_get_user_coroutine_exceptioncCr�)Nr�Fr�r�z/oauth2/server/authorize?r�r�r�rrr�test_oauth2_redirect�r�zAuthTest.test_oauth2_redirectcCsz|jddd�}|�|jd�|�d|jdv�|jddd�}|�|jd�t|j�}|�|d	d
�|�|dd�dS)
Nr�Fr�r�z/facebook/server/authorize?r�z /facebook/client/login?code=1234��rWrF�session_expires�3600)r�r�rqr�r�rr�)rr�r*rrr�test_facebook_login�s�
zAuthTest.test_facebook_logincCsR|j|dd�}|�|jd�|�|jd�d��|�d|jdv|jd�dS)NFr�r�r�r�r�r�r�)r�urlr�rrr�base_twitter_redirect�s
����zAuthTest.base_twitter_redirectcCrg)Nr��r�r6rrr�test_twitter_redirect�rizAuthTest.test_twitter_redirectcCrg)Nr�r�r6rrr�#test_twitter_redirect_gen_coroutine�riz,AuthTest.test_twitter_redirect_gen_coroutinecCsZ|jddd�}|�|jd�|�|jd�d�|jd�|�d|jdv|jd�dS)	Nr�Fr�r�r�z-/twitter/server/authenticate?oauth_token=zxcvr�r�r�r�rrr�"test_twitter_authenticate_redirect�s
����z+AuthTest.test_twitter_authenticate_redirectcCsF|jdddid�}|��t|j�}|�|dddd�d	ddd
��dS)Nz&/twitter/client/login?oauth_token=zxcvr�r�r�r�rbr�)rIr�rJr�)rWr�r��usernamer�r�rrr�test_twitter_get_user�s"�
���zAuthTest.test_twitter_get_usercCs.|�d�}|��|�t|j�ddd��dS)Nz'/twitter/client/show_user?name=somebody�Somebody�somebody)r�r�)r�r�r�rr�r�rrr�test_twitter_show_users

�zAuthTest.test_twitter_show_usercCs*|�d�}|�|jd�|�|jd�dS)Nz$/twitter/client/show_user?name=errorr�serror from twitter request)r�r�rqr�r�rrr�test_twitter_show_user_errors
z%AuthTest.test_twitter_show_user_error)r.r/r0r�r�r�r�r�r�r��unittest�skipIfrr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�s,D
	

	r�c@r)�GoogleLoginHandlercCs.||_|�d�|_|�d�|_|�d�|_dS)N�
/client/login�/google/oauth2/authorize�/google/oauth2/token)rr�_OAUTH_REDIRECT_URIr@rArrrrrrCzGoogleLoginHandler.initializeccs��|�dd�}|dur.|�|j|�V}|j|j�d�|dd�V}|d|d<|�|�dS|j|j|jddddgdd	d
id�dS)Nrq�/google/oauth2/userinforWr��google_oauthrI�profilerV�prompt�select_account)rtrurw�
response_typerx)	r$r%r��oauth2_requestrrr5rPr&)rrq�accessr*rrrr,s"�
�
�zGoogleLoginHandler.getNr-rrrrr�sr�c@r2)�GoogleOAuth2AuthorizeHandlercCs$d}|�t|�d�t|d���dS)N�fake-authorization-codert)rq)�redirectrr$rL)rrqrrrr,0s z GoogleOAuth2AuthorizeHandler.getNrjrrrrr/r9rc@r2)�GoogleOAuth2TokenHandlercC�&|�d�dks	J�|�ddd��dS)Nrqr	�fake-access-tokenz
never-expiresr|�r$r(r6rrrr77s�zGoogleOAuth2TokenHandler.postNr8rrrrr6r9rc@r2)�GoogleOAuth2UserinfoHandlercCr)NrWr
r�rU)r�rVrr6rrrr,@szGoogleOAuth2UserinfoHandler.getNrjrrrrr?r9rc@rl)�GoogleOAuth2TestcCs2tdtt|d�fdtfdtfdtfgddd�d	�S)
Nr�r�r�r�r�fake_google_client_id�fake_google_client_secretrH)r)rr�rLrrrr6rrrr�Gs�	��zGoogleOAuth2Test.get_appcCs(|�d�}|�dddd�t|j��dS)Nr�r�rUr
)r�rVrW)r��assertDictEqualrr�r�rrr�test_google_loginWs
��z"GoogleOAuth2Test.test_google_loginN)r.r/r0r�rrrrrrFsr)4r��tornado.authrrrrrr�tornado.escaper�tornador	�tornado.httpclientr
�tornado.httputilr�tornado.logr�tornado.testingr
r�tornado.webrrrr�ImportErrorrr3r:rYr^rfrkrmrnr{r~rr�r�r�r�r�r�r�r�r�rrrrrrrr�<module>sR �