%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib64/python2.7/site-packages/tornado/test/
Upload File :
Create Path :
Current File : //lib64/python2.7/site-packages/tornado/test/web_test.pyc

�
��L]c@�s@	ddlmZmZmZmZddlmZddlmZddl	m
Z
mZmZm
Z
mZmZddlmZddlmZddlmZddlmZmZdd	lmZdd
lmZddlmZmZmZddl m!Z!dd
l"m#Z#m$Z$m%Z%m&Z&ddl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z:m;Z;ddl<Z<ddl=Z=ddl>Z>ddl?Z@ddlAZAddlBZBddlCZCddlDZDddlEZEyddlFjGZHWneIk
r>ddlJZHnXgZKd�ZLd�ZMdefd��YZNdeNfd��YZOde(fd��YZPde(fd��YZQde!jRfd��YZSde!jRfd��YZTdeNfd��YZUd e(fd!��YZVd"eNfd#��YZWd$e(fd%��YZXd&eNfd'��YZYd(e(fd)��YZZd*eNfd+��YZ[d,e(fd-��YZ\d.e(fd/��YZ]d0e(fd1��YZ^d2e(fd3��YZ_d4e(fd5��YZ`d6e(fd7��YZad8e(fd9��YZbd:e(fd;��YZ9d<e(fd=��YZcd>e(fd?��YZdd@e(fdA��YZedBe(fdC��YZfeMdDeNfdE��Y�ZgdFeNfdG��YZheMdHeNfdI��Y�ZieMdJeNfdK��Y�ZjeMdLeNfdM��Y�ZkeMdNeNfdO��Y�ZleMdPeNfdQ��Y�ZmeMdReNfdS��Y�ZneMdTeNfdU��Y�ZoeMdVeOfdW��Y�ZpeMdXeOfdY��Y�ZqeMdZeOfd[��Y�ZreMd\eOfd]��Y�ZseMd^eOfd_��Y�ZteMd`eNfda��Y�ZueMdbeOfdc��Y�ZveMddeNfde��Y�ZweMdfeOfdg��Y�Zxdheyfdi��YZzeMdjeOfdk��Y�Z{eMdleOfdm��Y�Z|eMdneOfdo��Y�Z}eMdpeOfdq��Y�Z~dreOfds��YZeMdteOfdu��Y�Z�eMdveNfdw��Y�Z�eMdxeOfdy��Y�Z�dzeOfd{��YZ�eMd|eOfd}��Y�Z�d~eOfd��YZ�eMd�eOfd���Y�Z�eMd�eNfd���Y�Z�eMd�eNfd���Y�Z�eMd�eNfd���Y�Z�eMd�eNfd���Y�Z�d�eNfd���YZ�d�eNfd���YZ�eMd�eOfd���Y�Z�d�eOfd���YZ�d�e!jRfd���YZ�eMd�eOfd���Y�Z�eMd�eOfd���Y�Z�eMd�eNfd���Y�Z�eMd�eNfd���Y�Z�eMd�eOfd���Y�Z�dS(�i(tabsolute_importtdivisiontprint_functiontwith_statement(tFuture(tgen(tjson_decodetutf8t
to_unicodetrecursive_unicodet
native_strt
to_basestring(tformat_timestamp(tIOStream(tlocale(tapp_logtgen_log(tSimpleAsyncHTTPClient(t
DictLoader(tAsyncHTTPTestCaset	ExpectLogtgen_test(tunittest(tut
ObjectDicttunicode_typettimedelta_to_seconds(tRequestHandlert
authenticatedtApplicationtasynchronousturlt	HTTPErrortStaticFileHandlert_create_signature_v1tcreate_signed_valuetdecode_signed_valuetErrorHandlertUIModuletMissingArgumentErrortstream_request_bodytFinishtremoveslashtaddslashtRedirectHandlertget_signature_key_versionNcG�stjjtjjt�|�S(N(tostpathtjointdirnamet__file__(ta((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt<lambda>!scC�stj|�|S(N(twsgi_safe_teststappend(tcls((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt	wsgi_safe$s
tWebTestCasecB�s)eZdZd�Zd�Zd�ZRS(s�Base class for web tests that also supports WSGI mode.

    Override get_handlers and get_app_kwargs instead of get_app.
    Append to wsgi_safe to have it run in wsgi_test as well.
    cC�s%t|j�|j��|_|jS(N(Rtget_handlerstget_app_kwargstapp(tself((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_app/scC�s
t��dS(N(tNotImplementedError(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:3scC�siS(N((R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;6s(t__name__t
__module__t__doc__R>R:R;(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR9)s		tSimpleHandlerTestCasecB�seZdZd�ZRS(s�Simplified base class for tests that work with a single handler class.

    To use, define a nested class named ``Handler``.
    cC�sd|jfgS(Nt/(tHandler(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:?s(R@RARBR:(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRC:stHelloHandlercB�seZd�ZRS(cC�s|jd�dS(Nthello(twrite(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytgetDs(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRFCstCookieTestRequestHandlercB�s,eZddd�Zd�Zdd�ZRS(t
0123456789cC�sXi|_|dkr3tdtd|��|_n!tdtd|d|��|_dS(Ntsettingst
cookie_secrettkey_version(t_cookiestNoneRtdicttapplication(R=RMRN((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt__init__Js
	cC�s|jj|�S(N(RORI(R=tname((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
get_cookieSscC�s||j|<dS(N(RO(R=RTtvaluetexpires_days((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
set_cookieVsN(R@RARPRSRURX(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRJHs		tSecureCookieV1TestcB�s#eZd�Zd�Zd�ZRS(cC�sBt�}|jdddd�|j|jddd�d�dS(Ntfootbartversionitmin_version(RJtset_secure_cookietassertEqualtget_secure_cookie(R=thandler((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_round_trip\s	c	C�s-t�}|jdtjd�dd�|jd}tjd|�}|j|�|jd�}|jd�}|j	t
|jjddd|�|�|j	t
|jjddd	d
|�|�t
dt|�t|�f�|jd<ttd��'|j|jdd
d�dk�WdQXdS(NRZtd76df8e7aefcR\is12345678\|([0-9]+)\|([0-9a-f]+)iRMt12345678t1234t5678s1234|5678%s|%ssCookie timestamp in futureR](RJR^tbinasciita2b_hexROtretmatcht
assertTruetgroupR_R"RRRLRRRRR`RP(R=RatcookieRjt	timestamptsig((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt&test_cookie_tampering_future_timestampbs*	

#cC�sBt�}|jdddd�|j|jddd�d�dS(NRZs�R\iR](RJR^R_R`(R=Ra((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_arbitrary_bytess	(R@RARbRpRq(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRY[s		tSecureCookieV2TestcB�sIeZidd6dd6Zd�Zd�Zd�Zd�Zd�ZRS(	tajklasdf0ojaisdfitaslkjasaolwkjsdficC�sBt�}|jdddd�|j|jddd�d�dS(NRZR[R\iR](RJR^R_R`(R=Ra((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRb�s	cC�sEtd|jdd�}|jdd�|j|jd�d�dS(NRMRNiRZR[(RJtKEY_VERSIONSR^R_R`(R=Ra((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_key_version_roundtrip�s	cC�sEtd|jdd�}|jdd�|j|jd�d�dS(NRMRNiRZR[(RJRuR^R_R`(R=Ra((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt,test_key_version_roundtrip_differing_version�s	cC�sitd|jdd�}|jdd�td|jdd�}|j|_|j|jd�d�dS(NRMRNiRZR[i(RJRuR^ROR_R`(R=Ratnew_handler((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt"test_key_version_increment_version�s		cC�s�td|jdd�}|jdd�|jj�}|jd�td|dd�}|j|_|j|jd�d�dS(NRMRNiRZR[i(	RJRuR^tcopytpopROR_R`RP(R=Ratnew_key_versionsRx((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt#test_key_version_invalidate_version�s	
	(R@RARuRbRvRwRyR}(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRr�s
					t
CookieTestcB�sYeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
RS(	c		C�s�dtfd��Y}dtfd��Y}dtfd��Y}dtfd��Y}d	tfd
��Y}dtfd��Y}d
tfd��Y}dtfd��Y}d|fd|fd|fd|fd|fd|fd|fd|fgS(NtSetCookieHandlercB�seZd�ZRS(cS�s:|jdd�|jdtd��|jdd�dS(Ntstrtasdftunicodetqwertbytestzxcv(RXR(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�stGetCookieHandlercB�seZd�ZRS(cS�s|j|jdd��dS(NRZtdefault(RHRU(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stSetCookieDomainHandlercB�seZd�ZRS(cS�s,|jdddtd�dtd��dS(Ntunicode_argstblahtdomainsfoo.comR/s/foo(RXR(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stSetCookieSpecialCharHandlercB�seZd�ZRS(cS�s4|jdd�|jdd�|jdd�dS(Ntequalssa=bt	semicolonsa;btquotesa"b(RX(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stSetCookieOverwriteHandlercB�seZd�ZRS(cS�s@|jdddd�|jdddd�|jdd�dS(NR3tbR�sexample.comtctdte(RX(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stSetCookieMaxAgeHandlercB�seZd�ZRS(cS�s|jdddd�dS(NRZR[tmax_agei
(RX(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stSetCookieExpiresDaysHandlercB�seZd�ZRS(cS�s|jdddd�dS(NRZR[RWi
(RX(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stSetCookieFalsyFlagscB�seZd�ZRS(cS�s\|jdddt�|jdddt�|jdddt�|jdddt�dS(NR3t1tsecureR�R�thttponlyR�(RXtTruetFalse(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��ss/sets/gets/set_domains
/special_chars/set_overwrites/set_max_ages/set_expires_dayss/set_falsy_flags(R(	R=RR�R�R�R�R�R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�s 							cC�s>|jd�}|jt|jjd��dddg�dS(Ns/sets
Set-Cookiesbytes=zxcv; Path=/sstr=asdf; Path=/sunicode=qwer; Path=/(tfetchR_tsortedtheaderstget_list(R=tresponse((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_set_cookie�s
cC�s�|jddidd6�}|j|jd�|jddidd6�}|j|jd�|jddidd6�}|j|jd�dS(	Ns/getR�sfoo=bartCookieR[s	foo="bar"s/=exception;R�(R�R_tbody(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_get_cookie�scC�s2|jd�}|j|jjd�dg�dS(Ns/set_domains
Set-Cookies,unicode_args=blah; Domain=foo.com; Path=/foo(R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_set_cookie_domainscC�s�|jd�}t|jjd��}|jt|�d�|j|dd�|j|dd�|j|ddk|d�dddddg}xY|D]Q\}}tjd|�|jddi|d6�}|j|j	t
|��q�WdS(Ns
/special_chars
Set-Cookieiisequals="a=b"; Path=/isquote="a\"b"; Path=/issemicolon="a;b"; Path=/ssemicolon="a\073b"; Path=/sfoo=a=bsa=bs	foo="a=b"s	foo="a;b"sa;bsfoo="a\073b"s
foo="a\"b"sa"bs	trying %rs/getR�R�(ssemicolon="a;b"; Path=/ssemicolon="a\073b"; Path=/(sfoo=a=bsa=b(s	foo="a=b"sa=b(s	foo="a;b"sa;b(sfoo="a\073b"sa;b(s
foo="a\"b"sa"b(R�R�R�R�R_tlenRktloggingtdebugR�R(R=R�R�tdatatheadertexpected((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_cookie_special_chars"
	cC�sA|jd�}|jjd�}|jt|�ddg�dS(Ns/set_overwrites
Set-Cookiesa=e; Path=/sc=d; Domain=example.com; Path=/(R�R�R�R_R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_set_cookie_overwritescC�s>|jd�}|jjd�}|jt|�dg�dS(Ns/set_max_ages
Set-Cookiesfoo=bar; Max-Age=10; Path=/(R�R�R�R_R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_set_cookie_max_age$scC�s�|jd�}|jjd�}tjd|�}|j|�tjj�tjdd�}tjt	j
j|j�d�d �}|j
tt||��dk�dS(Ns/set_expires_dayss
Set-Cookies(foo=bar; expires=(?P<expires>.+); Path=/tdaysi
texpiresi(R�R�RIRiRjtassertIsNotNonetdatetimetutcnowt	timedeltatemailtutilst	parsedatet	groupdictRktabsR(R=R�R�RjR�theader_expires((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_set_cookie_expires_days*s
#cC�s�|jd�}t|jjd��}|j|dj�d�|j|dj�d�|j|dj�d�|j|d	j�d
�dS(Ns/set_falsy_flagss
Set-Cookieisa=1; path=/; secureisb=1; path=/isc=1; httponly; path=/isd=1; path=/(R�R�R�R�R_tlower(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_set_cookie_false_flags5s(R@RAR:R�R�R�R�R�R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR~�s	;		
					tAuthRedirectRequestHandlercB�s)eZd�Zd�Zed��ZRS(cC�s
||_dS(N(t	login_url(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
initializeAscC�s|jS(N(R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
get_login_urlDscC�s|jd�dS(Ni�(t
send_error(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIGs(R@RAR�R�RRI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�@s		tAuthRedirectTestcB�s#eZd�Zd�Zd�ZRS(cC�s.dttdd�fdttdd�fgS(Ns	/relativeR�s/logins	/absoluteshttp://example.com/login(R�RQ(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:NscC�s_|jj|jd�|jdt�|j�}|j|jd�|j|jdd�dS(Ns	/relativetfollow_redirectsi.tLocations/login?next=%2Frelative(	thttp_clientR�tget_urltstopR�twaitR_tcodeR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_relative_auth_redirectTs
cC�sr|jj|jd�|jdt�|j�}|j|jd�|jt	j
d|jd�|jd�dS(Ns	/absoluteR�i.sIhttp://example.com/login\?next=http%3A%2F%2Flocalhost%3A[0-9]+%2FabsoluteR�(R�R�R�R�R�R�R_R�RkRiRjR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_absolute_auth_redirect[s(R@RAR:R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�Ms		tConnectionCloseHandlercB�s)eZd�Zed��Zd�ZRS(cC�s
||_dS(N(ttest(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�fscC�s|jj�dS(N(R�ton_handler_waiting(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIiscC�s|jj�dS(N(R�ton_connection_close(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�ms(R@RAR�RRIR�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�es	tConnectionCloseTestcB�s,eZd�Zd�Zd�Zd�ZRS(cC�sdttd|�fgS(NRDR�(R�RQ(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:rscC�sjtjtjtjd�}|jd|j�f�t|d|j�|_|jjd�|j	�dS(Nis	127.0.0.1tio_loopsGET / HTTP/1.0

(
tsockettAF_INETtSOCK_STREAMtconnectt
get_http_portR
R�tstreamRHR�(R=ts((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_connection_closeus
cC�stjd�|jj�dS(Nshandler waiting(R�R�R�tclose(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�|s
cC�stjd�|j�dS(Nsconnection closed(R�R�R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s
(R@RAR:R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�qs			tEchoHandlercB�seZd�ZRS(c	G�sAx�|jjD]�}t|�tkr>tdt|���nxC|jj|D]1}t|�tkrOtdt|���qOqOWxB|j|�D]1}t|�tkr�tdt|���q�q�Wq
Wx9|D]1}t|�tkr�tdt|���q�q�W|jt	d|jj
d|dt|jj���dS(Nsincorrect type for key: %rsincorrect type for value: %rsincorrect type for path arg: %rR/t	path_argstargs(trequestt	argumentsttypeR�t	ExceptionR�t
get_argumentsRRHRQR/R	(R=R�tkeyRVtarg((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s"
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stRequestEncodingTestcB�s>eZd�Zd�Zd�Zd�Zd�Zd�ZRS(cC�sdtfdtfgS(Ns/group/(.*)s/slashes/([^/]*)/([^/]*)(R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�s	cC�st|j|�j�S(N(RR�R�(R=R/((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
fetch_json�scC�sp|j|jd�tddddgdi��|j|jd�tddddgdidgd6��dS(Ns
/group/%3FR/R�t?R�s/group/%3F?%3F=%3F(R_R�RQ(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_group_question_mark�scC�si|j|jd�itd�td�6td�gtd�6itd�gtd�6td�6�dS(Ns/group/%C3%A9?arg=%C3%A9s
/group/%C3%A9R/s\u00e9R�R�R�(R_R�R(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_group_encoding�sc	C�sl|j|jd�tdddddgdi��|j|jd�tddddd	gdi��dS(
Ns/slashes/foo/barR/R�RZR[R�s/slashes/a%2Fb/c%2Fdsa/bsc/d(R_R�RQ(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_slashes�s
cC�s'ttd��|jd�WdQXdS(Ns.*Invalid unicodes/group/?arg=%25%e9(RRR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
test_error�s(R@RAR:R�R�R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s					tTypeCheckHandlercB�s,eZd�Zd�Zd�Zd�ZRS(cC�sji|_|jd|j�t�|jd|jd�t�|jdt|jj��dt	�|jdt|jj
��djt	�t|jj��dgkr�td|jj���n|jd	|j
d�t�|jd
|jd�t	�|jd|jt�|jd|j�t	�|jd
|jdd�t	�|jd|j�t	�dS(NtstatustargumentRZt
cookie_keyitcookie_valueR�s%unexpected values for cookie keys: %rR`RUt
xsrf_tokentxsrf_form_htmltreverse_urlt	typechecktrequest_summary(terrorst
check_typet
get_statustinttget_argumentRtlisttcookiestkeysR�tvaluesRVR�R`R�RUR�R�R�t_request_summary(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytprepare�s	&)cC�s'|jd|t�|j|j�dS(Ntpath_component(R�RRHR�(R=R((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�scC�s'|jd|t�|j|j�dS(NR(R�RRHR�(R=R((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytpost�scC�s6t|�}||kr2d||f|j|<ndS(Nsexpected %s, got %s(R�R�(R=RTtobjt
expected_typetactual_type((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s(R@RARRIRR�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s			tDecodeArgHandlercB�seZdd�Zd�ZRS(cC�sft|�tkr+tdt|���nd|jjkr^|jt|jjdd��S|SdS(Nsunexpected type for value: %rtencodingi(R�R�R�R�R�tdecodeR(R=RVRT((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytdecode_argument�s
!cC�s=d�}|ji||�d6||jd��d6�dS(NcS�sWt|�tkr+dttj|��gSt|�tkrGd|gStd��dS(NR�R�sunknown type(R�R�R
Rgtb2a_hexRR�(R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytdescribe�s

R/RZtquery(RHR�(R=R�R((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s	N(R@RARPRRI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR	�s	tLinkifyHandlercB�seZd�ZRS(cC�s|jddd�dS(Nslinkify.htmltmessageshttp://example.com(trender(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIs(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR
stUIModuleResourceHandlercB�seZd�ZRS(cC�s|jddddg�dS(Ns	page.htmltentriesii(R(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIs(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRstOptionalPathHandlercB�seZd�ZRS(cC�s|ji|d6�dS(NR/(RH(R=R/((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIs(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRstFlowControlHandlercB�s)eZed��Zd�Zd�ZRS(cC�s$|jd�|jd|j�dS(NR�tcallback(RHtflushtstep2(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIs
cC�s$|jd�|jd|j�dS(Nt2R(RHRtstep3(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR!s
cC�s|jd�|j�dS(Nt3(RHtfinish(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR%s
(R@RARRIRR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRs	tMultiHeaderHandlercB�seZd�ZRS(cC�sD|jdd�|jdd�|jdd�|jdd�dS(	Nsx-overwriteR�sX-Overwriteisx-multiisX-Multit4(t
set_headert
add_header(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI+s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR*sR,cB�seZd�ZRS(cC�s�|jdd�dk	r=|jddt|jd���nI|jdd�dk	rz|jddt|jd���ntd��dS(Nt	permanentRDR�s(didn't get permanent or status arguments(R�RPtredirectR�R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI3s
%%(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR,2stEmptyFlushCallbackHandlercB�s eZejed���ZRS(cc�sVtj|j�Vtj|j�V|jd�|j�V|j�V|jd�dS(Ntotk(RtTaskRRHR(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI=s
(R@RARtengineRRI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR$<stHeaderInjectionHandlercB�seZd�ZRS(cC�s_y |jdd�td��Wn8tk
rZ}dt|�krT|jd�q[�nXdS(NsX-Foosfoo
X-Bar: bazsDidn't get expected exceptionsUnsafe header valuetok(R R�t
ValueErrorR�R(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRILs(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR)KstGetArgumentHandlercB�seZd�ZRS(cC�sk|jdd�dkr$|j}n-|jdd�dkrH|j}n	|j}|j|dd��dS(NtsourceRR�RZR�(R�RPtget_query_argumenttget_body_argumentR(R=tmethod((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRXs	(R@RAR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR,WstGetArgumentsHandlercB�seZd�ZRS(c	C�sA|jtd|jd�d|jd�d|jd���dS(NR�RZRR�(RRQR�tget_query_argumentstget_body_arguments(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRcs(R@RAR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR1bstWSGISafeWebTestcB�s�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(sWebTest.COOKIE_SECRETcC�s=tidd6dd6dd6�}td|dd	d
|j�S(Ns{% module linkify(message) %}slinkify.htmlsv<html><head></head><body>
{% for e in entries %}
{% module Template("entry.html", entry=e) %}
{% end %}
</body></html>s	page.htmls{{ set_resources(embedded_css=".entry { margin-bottom: 1em; }", embedded_javascript="js_embed()", css_files=["/base.css", "/foo.css"], javascript_files="/common.js", html_head="<meta>", html_body='<script src="/analytics.js"/>') }}
<div class="entry">...</div>s
entry.htmlttemplate_loadert
autoescapetxhtml_escapeRM(RRQt
COOKIE_SECRET(R=tloader((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;ns
cC�s$tt|�j�tjj�dS(N(tsuperR4ttearDownRt_template_loaderstclear(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;scC�s�tdtdd�tdtdd�tdt�tdt�tdt�td	t�td
t�tdt�tdtid
d6�tdtid
d6t	d6�tdtid
d6�tdt
�tdt�tdt�g}|S(Ns/typecheck/(.*)RTR�s/decode_arg/(.*)t
decode_args/decode_arg_kw/(?P<arg>.*)s/linkifys/uimodule_resourcess/optional_path/(.+)?s
/multi_headers	/redirects/web_redirect_permanents/web_redirect_newpathRs
/web_redirectR"s//web_redirect_double_slashs/header_injections
/get_arguments/get_arguments(
RR�R	RRRRR,tWebRedirectHandlerR�R)R,R1(R=turls((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�scO�s)|j||�}|j�t|j�S(N(R�trethrowRR�(R=R�tkwargsR�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s
cC�s�tt|jdd��}|jddid|d6�}t|j�}|j|i�|jddddid|d6d	d
�}dS(NR�R�s/typecheck/asdf?foo=barR�sasdf=R�R0tPOSTR�sfoo=bar(RR#R8R�RR�R_(R=R�R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
test_types�scC�sdddg}x�|D]|}|j|�}|j�t|j�}|j|itd�td�gtd�6td�td�gtd�6�qW|jd�}|j�t|j�}|j|itd	�td
�gtd�6td	�td
�gtd�6�dS(Ns,/decode_arg/%C3%A9?foo=%C3%A9&encoding=utf-8s'/decode_arg/%E9?foo=%E9&encoding=latin1s*/decode_arg_kw/%E9?foo=%E9&encoding=latin1R�s\u00e9R/Rs/decode_arg/%C3%A9?foo=%C3%A9R�tc3a9(R�RARR�R_R(R=R@treq_urlR�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_decode_argument�s	

+'
+cC�s^ttd��I|jd�}|j|jd�|jd�}|j|jd�WdQXdS(Ns.*Invalid unicode.*s/typecheck/invalid%FFi�s/typecheck/invalid?foo=%FF(RRR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt$test_decode_argument_invalid_unicode�s
cC�s�ddg}x�|D]|}|j|�}|j�t|j�}|j|itd�td�gtd�6td�td�gtd�6�qWdS(Ns6/decode_arg/1%20%2B%201?foo=1%20%2B%201&encoding=utf-8s0/decode_arg/1%20+%201?foo=1+%2B+1&encoding=utf-8R�s1 + 1R/R(R�RARR�R_R(R=R@RFR�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_decode_argument_plus�s	

+cC�s�|j|jjdd�d�|j|jjdd�d�|j|jjdd�d�|j|jjdtd��d	�|j|jjdd
�d�dS(NR>RZs/decode_arg/fooi*s/decode_arg/42s�s/decode_arg/%E9s\u00e9s/decode_arg/%C3%A9s1 + 1s/decode_arg/1%20%2B%201(R_R<R�R(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_reverse_url�scC�s&|jd�}|j|jd�dS(Ns/linkifys3<a href="http://example.com">http://example.com</a>(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_uimodule_unescaped�scC�s&|jd�}|j|jd�dS(Ns/uimodule_resourcess�<html><head><link href="/base.css" type="text/css" rel="stylesheet"/><link href="/foo.css" type="text/css" rel="stylesheet"/>
<style type="text/css">
.entry { margin-bottom: 1em; }
</style>
<meta>
</head><body>


<div class="entry">...</div>


<div class="entry">...</div>

<script src="/common.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
js_embed()
//]]>
</script>
<script src="/analytics.js"/>
</body></html>(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_uimodule_resources�scC�sV|j|jd�itd�td�6�|j|jd�idtd�6�dS(Ns/optional_path/fooRZR/s/optional_path/(R_R�RRP(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_optional_path�scC�sL|jd�}|j|jdd�|j|jjd�ddg�dS(Ns
/multi_headersx-overwriteRsx-multiRR(R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_multi_headerscC�s||jddt�}|j|jd�|jddt�}|j|jd�|jddt�}|j|jd�dS(Ns/redirect?permanent=1R�i-s/redirect?permanent=0i.s/redirect?status=307i3(R�R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
test_redirectscC�s�|jddt�}|j|jd�|j|jdd�|jddt�}|j|jd�|j|jdd�dS(Ns/web_redirect_permanentR�i-R�s/web_redirect_newpaths
/web_redirecti.(R�R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_web_redirect
scC�sC|jddt�}|j|jd�|j|jdd�dS(Ns//web_redirect_double_slashR�i-R�s/web_redirect_newpath(R�R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_web_redirect_double_slashscC�s&|jd�}|j|jd�dS(Ns/header_injectionR*(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_header_injectionsc	C�s|jd�}|j|jd�|jd�}|j|jd�|jd�}|j|jd�tjtdd��}|jdd	d
d|�}|j|jd�|jdd	d
d|�}|jt|j�tdddgd
dgddg��dS(Ns/get_argument?foo=barR[s/get_argument?foo=ts
/get_argumentR�RZRGR0RCR�s/get_arguments?foo=barR(R�R_R�turllib_parset	urlencodeRQR(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_get_arguments	cC�s�tjtdd��}|jdddd|�}|j|jd�|jdddd|�}|j|jd	�|jd
ddd|�}|j|jd�dS(NRZRGs"/get_argument?source=query&foo=barR0RCR�R[s/get_argument?source=query&foo=RSs/get_argument?source=queryR�(RTRURQR�R_R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_get_query_arguments3scC�s�tjtdd��}|jdddd|�}|j|jd�tjtdd��}|jdddd|�}|j|jd�tjt��}|jdddd|�}|j|jd�dS(	NRZR[s#/get_argument?source=body&foo=helloR0RCR�RSR�(RTRURQR�R_R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_get_body_argumentsAscC�sQ|jd�}|jd|jjdd��|jd|jjdd��dS(Ns
/get_argumentsAccept-EncodingtVaryRStgzipsContent-Encoding(R�tassertNotInR�RI(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_no_gzipQs(R@RAR8R;R;R:R�RDRGRHRIRJRKRLRMRNRORPRQRRRVRWRXR\(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR4js,																				tNonWSGIWebTestscB�s#eZd�Zd�Zd�ZRS(cC�sdtfdtfgS(Ns
/flow_controls/empty_flush(RR$(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:Xs	cC�s |j|jd�jd�dS(Ns
/flow_controlt123(R_R�R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_flow_control]scC�s&|jd�}|j|jd�dS(Ns/empty_flushR*(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_empty_flush`s(R@RAR:R_R`(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR]Ws		tErrorResponseTestcB�s,eZd�Zd�Zd�Zd�ZRS(cC�sjdtfd��Y}dtfd��Y}dtfd��Y}td|�td|�td	|�gS(
NtDefaultHandlercB�seZd�ZRS(cS�s<|jdd�r0tt|jd����ndddS(NR�ii(R�RPR R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIis(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRbhstWriteErrorHandlercB�seZd�Zd�ZRS(cS�s=|jdd�r1|jt|jd���ndddS(NR�ii(R�RPR�R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIosc[�sP|jdd�d|kr;|jd|ddj�n|jd|�dS(NsContent-Types
text/plaintexc_infos
Exception: %sis
Status: %d(R RHR@(R=tstatus_codeRB((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytwrite_errorus(R@RARIRf(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRcns	tFailedWriteErrorHandlercB�seZd�Zd�ZRS(cS�sdddS(Nii((R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI}sc[�std��dS(Nsexception in write_error(R�(R=ReRB((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRf�s(R@RARIRf(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRg|s	s/defaults/write_errors/failed_write_error(RR(R=RbRcRg((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:gscC�s�ttd��u|jd�}|j|jd�|jd|jk�|jd�}|j|jd�|jd|jk�WdQXdS(NsUncaught exceptions/defaulti�s500: Internal Server Errors/default?status=503i�s503: Service Unavailable(RRR�R_R�RkR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_default�scC�s�ttd��o|jd�}|j|jd�|jd|j�|jd�}|j|jd�|jd|j�WdQXdS(NsUncaught exceptions/write_errori�sException: ZeroDivisionErrors/write_error?status=503i�sStatus: 503(RRR�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_write_error�scC�sOttd��:|jd�}|j|jd�|jd|j�WdQXdS(NsUncaught exceptions/failed_write_errori�RS(RRR�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_failed_write_error�s(R@RAR:RhRiRj(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRaes	!	
	
tStaticFileTestcB�s4eZdZejjejje�d�Zd�Z	d�Z
d�Zd�Zd�Z
d�Zd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%RS(t f71d20196d4caf35b6a670db8c70b03dtstaticcC�sadtfd��Y}d|fd��Y}dtfd��Y}d|fd|fd	|fgS(
NtStaticUrlHandlercB�seZd�ZRS(cS�s8t|jdd��}|j|j|d|��dS(Ntinclude_versioni(R�R�RHt
static_url(R=R/twith_v((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRn�stAbsoluteStaticUrlHandlercB�seZeZRS((R@RAR�tinclude_host(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRr�stOverrideStaticUrlHandlercB�seZd�ZRS(c
S�s�t|jd��}||_|j|�}|j|d|�}||krb|jtt��S|jjd}t	|�}|j
|d|�}|j
|d|�}|r�|dko�|dk}	n|dko�|dk}	|jt|	��dS(NRss://ii����(tboolR�RsRpRHR�R�R�tprotocolR�tfind(
R=R/t
do_includetregular_urltoverride_urlRvtprotocol_lengtht
check_regulartcheck_overridetresult((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRt�ss/static_url/(.*)s/abs_static_url/(.*)s/override_static_url/(.*)(R(R=RnRrRt((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�s		cC�stdtd��S(Ntstatic_pathRm(RQtrelpath(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�scC�sN|jd�}|jd|jk�|jd�}|jd|jk�dS(Ns/robots.txtsDisallow: /s/static/robots.txt(R�RkR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_files�scC�s-|jd�}|j|jd|j�dS(Ns/static_url/robots.txts/static/robots.txt?v=(R�R_R�trobots_txt_hash(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_url�scC�s@|jd�}|j|jt|jd��d|j�dS(Ns/abs_static_url/robots.txtRDsstatic/robots.txt?v=(R�R_R�RR�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_absolute_static_url�scC�s&|jd�}|j|jd�dS(Ns(/static_url/robots.txt?include_version=0s/static/robots.txt(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_relative_version_exclusion�scC�s9|jd�}|j|jt|jd�d��dS(Ns,/abs_static_url/robots.txt?include_version=0RDsstatic/robots.txt(R�R_R�RR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_absolute_version_exclusion�scC�s|jt�|jt�dS(N(t_trigger_include_host_checkR�R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_include_host_override�s
cC�sBd}|j|t|��}|j|jttt���dS(Ns//override_static_url/robots.txt?include_host=%s(R�R�R_R�RR�R�(R=RsR/R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��sc	O�s�|jdd||�}|jdd||�}t�}x?tj|j|j�D]%}|jd�rR|j|�qRqRWx^|D]V}|j|jj|�|jj|�d||jj|�|jj|�f�q�W|S(s�Performs a GET and HEAD request and returns the GET response.

        Fails if any ``Content-*`` headers returned by the two requests
        differ.
        R0tHEADtGETsContent-s)%s differs between GET (%s) and HEAD (%s)(	R�tsett	itertoolstchainR�t
startswithtaddR_RI(R=R�RBt
head_responsetget_responsetcontent_headersth((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_and_head�s	
cC�su|jd�}|jddi|jdd6�}|j|jd�|jd|jk�|jd|jk�dS(Ns/static/robots.txtR�s
Last-ModifiedsIf-Modified-Sincei0sContent-Length(R�R�R_R�Rk(R=t	response1t	response2((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt!test_static_304_if_modified_since	scC�sI|jd�}|jddi|jdd6�}|j|jd�dS(Ns/static/robots.txtR�tEtags
If-None-Matchi0(R�R�R_R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_304_if_none_matchscC�s3|jddidd6�}|j|jd�dS(Ns/static/robots.txtR�sFri, 01 Jan 1960 00:00:00 GMTsIf-Modified-Sincei�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt'test_static_if_modified_since_pre_epochs
cC�s�tjtd��}|jddit|jd�d6�}|j|jd�|jddit|jd�d6�}|j|jd�dS(Nsstatic/robots.txts/static/robots.txtR�isIf-Modified-Sincei�i0(R.tstatR�R�Rtst_mtimeR_R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt'test_static_if_modified_since_time_zonescC�s@|jd�}|jt|jjd��d|jd�dS(Ns/static/robots.txtR�t"(R�R_RR�RIR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_etag-scC�s�|jddidd6�}|j|jd�|j|jd�|jt|jjd��d|jd�|j|jjd	�d
�|j|jjd�d�dS(
Ns/static/robots.txtR�s	bytes=0-9tRangei�s
User-agentR�R�sContent-Lengtht10s
Content-Rangesbytes 0-9/26(R�R_R�R�RR�RIR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_with_range2s
cC�s�|jddidd6�}|j|jd�tjj|jd�}t|��&}|j|jt	|j
���WdQX|j|jjd�d�|j|jjd	�d�dS(
Ns/static/robots.txtR�sbytes=0-R�i�s
robots.txtsContent-Lengtht26s
Content-Range(R�R_R�R.R/R0t
static_dirtopenR�RtreadR�RIRP(R=R�trobots_file_pathtf((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt test_static_with_range_full_file=s
%cC�s�|jddidd6�}|j|jd�tjj|jd�}t|��&}|j|jt	|j
���WdQX|j|jjd�d�|j|jjd	�d�dS(
Ns/static/robots.txtR�sbytes=0-10000000R�i�s
robots.txtsContent-LengthR�s
Content-Range(R�R_R�R.R/R0R�R�R�RR�R�RIRP(R=R�R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt$test_static_with_range_full_past_endIs
%c	C�s�|jddidd6�}|j|jd�tjj|jd�}t|��*}|j|jt	|j
�d��WdQX|j|jjd�d	�|j|jjd
�d�dS(Ns/static/robots.txtR�sbytes=1-10000000R�i�s
robots.txtisContent-Lengtht25s
Content-Ranges
bytes 1-25/26(
R�R_R�R.R/R0R�R�R�RR�R�RI(R=R�R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt'test_static_with_range_partial_past_endSs
)cC�sk|jddidd6�}|j|jd�|j|jjd�d�|j|jjd�d	�dS(
Ns/static/robots.txtR�s	bytes=22-R�s: /
sContent-LengthRs
Content-Rangesbytes 22-25/26(R�R_R�R�RI(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_with_range_end_edge]s
cC�sk|jddidd6�}|j|jd�|j|jjd�d�|j|jjd�d	�dS(
Ns/static/robots.txtR�sbytes=-4R�s: /
sContent-LengthRs
Content-Rangesbytes 22-25/26(R�R_R�R�RI(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_with_range_neg_endes
cC�s3|jddidd6�}|j|jd�dS(Ns/static/robots.txtR�R�R�i�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_invalid_rangems
cC�sO|jddidd6�}|j|jjd�d�|j|jd�dS(Ns/static/robots.txtR�sbytes=-0R�s
Content-Ranges
bytes */26i�(R�R_R�RIR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt+test_static_unsatisfiable_range_zero_suffixrs

cC�sO|jddidd6�}|j|jd�|j|jjd�d�dS(Ns/static/robots.txtR�sbytes=26R�i�s
Content-Ranges
bytes */26(R�R_R�R�RI(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt-test_static_unsatisfiable_range_invalid_startys

cC�s~|jddd�}|j|jd�|j|jd�|j|jdd�|jt|jd�d	|jd	�dS(
Ns/static/robots.txtR0R�i�RSsContent-LengthR�R�R�(R�R_R�R�R�RR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_head�scC�s�|jddddidd6�}|j|jd�|j|jd�|j|jd	d
�|jt|jd�d|jd�dS(
Ns/static/robots.txtR0R�R�s	bytes=1-4R�i�RSsContent-LengthRR�R�(R�R_R�R�R�RR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_head_range�scC�s�|jddidd6d|jdd6�}|j|jd�|j|jd�|jd	|jk�|jt|jd
�d|jd�dS(Ns/static/robots.txtR�s	bytes=1-4R�R�s
If-None-Matchi0RSsContent-LengthR�(R�R�R_R�R�RkR�R(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_range_if_none_match�scC�s&|jd�}|j|jd�dS(Ns
/static/blargi�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_404�scC�s<ttd��|jd�}WdQX|j|jd�dS(Ns.*not in root static directorys/static/../static_foo.txti�(RRR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_path_traversal_protection�s(&R@RAR�R.R/R0R1R2R�R:R;R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRk�s>!	"																	
	
										
	tStaticDefaultFilenameTestcB�s,eZd�Zd�Zd�Zd�ZRS(cC�s"tdtd�dtdd��S(NRRmtstatic_handler_argstdefault_filenames
index.html(RQR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�scC�sgS(N((R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�scC�s?|jddt�}|j|jd�|jd|j�dS(Ns/static/dir/R�i�sthis is the index
(R�R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_default_filename�scC�sI|jddt�}|j|jd�|j|jdjd��dS(Ns/static/dirR�i-R�s/static/dir/(R�R�R_R�RkR�tendswith(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_static_default_redirect�s(R@RAR;R:R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s			tStaticFileWithPathTestcB�s#eZd�Zd�Zd�ZRS(cC�s"tdtd�dtdd��S(NRRmR�R�s
index.html(RQR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�scC�sdtitd�d6fgS(Ns	/foo/(.*)s
templates/R/(R!R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�s	cC�s&|jd�}|j|jd�dS(Ns/foo/utf8.htmlsHéllo
(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
test_serve�s(R@RAR;R:R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s		tCustomStaticFileTestcB�s,eZd�Zd�Zd�Zd�ZRS(cC�sBdtfd��Y}dtfd��Y}||_d|fgS(NtMyStaticFileHandlercB�sneZed��Zd�Zed��Zd�Zeddd��Zd�Z	d�Z
ed��ZRS(	cS�sJ|j||�}|jd�}|| }||d}d|||fS(Nt.is/static/%s.%s.%s(tget_versiontrindex(R7RLR/tversion_hashtextension_indextbefore_versiont
after_version((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytmake_static_url�s
	cS�s:|jd�}|jdd|�}d|| ||fS(NR�is%s%s(R�(R=turl_pathR�t
version_index((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytparse_url_path�s
cS�sd|S(NsCustomStaticFileTest:((R7RLR/((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_absolute_path�scS�s|S(N((R=troott
absolute_path((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytvalidate_absolute_path�scS�sB|dkr|dkst�|dkr.dStd|��dS(NsCustomStaticFileTest:foo.txtR[sunexpected path %r(RPtAssertionErrorR�(R=R/tstarttend((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_content�scS�s*|jdkrdStd|j��dS(NsCustomStaticFileTest:foo.txtisunexpected path %r(R�R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_content_size�scS�sdS(N(RP(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_modified_time�scS�sdS(Nt42((R7RLR/((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��sN(R@RAtclassmethodR�R�R�R�RPR�R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s					RncB�seZd�ZRS(cS�s|j|j|��dS(N(RHRp(R=R/((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRn�ss/static_url/(.*)(R!Rtstatic_handler_class(R=R�Rn((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�s*	cC�stddd|j�S(NRtdummyR�(RQR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;scC�s&|jd�}|j|jd�dS(Ns/static/foo.42.txtR[(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�scC�sBttddt��'|jd�}|j|jd�WdQXdS(NsCould not open static filetrequireds/static_url/foo.txts/static/foo.42.txt(RRR�R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s(R@RAR:R;R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s	3		tHostMatchingTestcB�s0eZdefd��YZd�Zd�ZRS(REcB�seZd�Zd�ZRS(cC�s
||_dS(N(treply(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�scC�s|j|j�dS(N(RHR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIs(R@RAR�RI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREs	cC�sdtjidd6fgS(Ns/footwildcardR�(R�RE(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:scC�sr|jjddtjidd6fg�|jjddtjidd6fg�|jjddtjid	d6fg�|jd�}|j|jd
�|jd�}|j|jd�|jd�}|j|jd�|jddidd
6�}|j|jd�|jddidd
6�}|j|jd�|jddidd
6�}|j|jd	�dS(Nswww.example.coms/foos[0]R�swww\.example\.coms/bars[1]s/bazs[2]R�i�R�tHost(R<tadd_handlersR�RER�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_host_matchings$(R@RARRER:R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s	tNamedURLSpecGroupsTestcB�seZd�Zd�ZRS(cC�s2dtfd��Y}d|ftd�|fgS(NR�cB�seZd�ZRS(cS�s|j|�dS(N(RH(R=R/((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI8s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�7ss/str/(?P<path>.*)s/unicode/(?P<path>.*)(RR(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:6s	cC�sH|jd�}|j|jd�|jd�}|j|jd�dS(Ns/str/fooRZs/unicode/barR[(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_named_urlspec_groups>s(R@RAR:R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�4s	tClearHeaderTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�ZRS(cC�s>|jdd�|jdd�|jd�|jd�dS(Nth1RZth2R[tnonexistent(R tclear_header(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIIs
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREHscC�s@|jd�}|jd|jk�|j|jdd�dS(NRDR�R�R[(R�RkR�R_(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_clear_headerOs(R@RARRER�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�Fst
Header304TestcB�s'eZdefd��YZd�ZRS(REcB�seZd�ZRS(cC�s!|jdd�|jd�dS(NsContent-Languageten_USRG(R RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIXs(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREWscC�s�|jd�}|j|jdd�|j|jdd�|jddi|jdd6�}|j|jd	�|jd|jk�|jd|jk�|jd
|jk�dS(NRDsContent-Lengtht5sContent-LanguageR�R�R�s
If-None-Matchi0sTransfer-Encoding(R�R_R�R�Rk(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_304_headers\s(R@RARRER�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�UstStatusReasonTestcB�s0eZdefd��YZd�Zd�ZRS(REcB�seZd�ZRS(cC�sN|jjjdg�}|jt|jd��d|rC|dnd�dS(NtreasonR�i(R�R�RIt
set_statusR�R�RP(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIms(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRElscC�std|j�S(NR�(RR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_http_clientrscC�s�|jd�}|j|jd�|j|jd�|jd�}|j|jd�|j|jd�|jd�}|j|jd�|j|jd�ttd	��|jd
�}WdQX|j|jd�dS(Ns
/?code=304i0sNot Modifieds/?code=304&reason=FootFoos/?code=682&reason=Bari�tBarsUncaught exceptions
/?code=682i�(R�R_R�R�RR(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_statusvs(R@RARRER�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�js	tDateHeaderTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�ZRS(cC�s|jd�dS(NRG(RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�scC�se|jd�}tjtjj|jd�d �}|j|tjj�tjdd�k�dS(NRDtDateitsecondsi(	R�R�R�R�R�R�RkR�R�(R=R�theader_date((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_date_header�s
 (R@RARRER�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stRaiseWithReasonTestcB�s9eZdefd��YZd�Zd�Zd�ZRS(REcB�seZd�ZRS(cC�stddd��dS(Ni�R�R�(R (R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�scC�std|j�S(NR�(RR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��scC�sL|jd�}|j|jd�|j|jd�|jd|j�dS(NRDi�R�s682: Foo(R�R_R�R�tassertInR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_raise_with_reason�scC�s&|jttddd��d�dS(Ni�R�R�s
HTTP 682: Foo(R_R�R (R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_httperror_str�s(R@RARRER�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s		tErrorHandlerXSRFTestcB�s,eZd�Zd�Zd�Zd�ZRS(cC�sdttdd�fgS(Ns/errorRei�(R%RQ(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�scC�s
tdt�S(Ntxsrf_cookies(RQR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�scC�s2|jddddd�}|j|jd�dS(Ns/errorR0RCR�RSi�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_error_xsrf�scC�s2|jddddd�}|j|jd�dS(Ns/404R0RCR�RSi�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
test_404_xsrf�s(R@RAR:R;R�R(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s			tGzipTestCasecB�sKeZdefd��YZd�Zd�Zd�Zd�Zd�ZRS(REcB�seZd�ZRS(cC�s?|jdd�r.|jd|jd��n|jd�dS(NtvaryRYshello world(R�RPR RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�scC�s.tdtdtjjtjjt�d��S(NRZRRm(RQR�R.R/R0R1R2(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�scC�sU|jd�}|j|jjd|jjd��d�|j|jdd�dS(NRDsContent-EncodingsX-Consumed-Content-EncodingRZRYsAccept-Encoding(R�R_R�RI(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt	test_gzip�s	cC�sU|jd�}|j|jjd|jjd��d�|j|jdd�dS(Ns/robots.txtsContent-EncodingsX-Consumed-Content-EncodingRZRYsAccept-Encoding(R�R_R�RI(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_gzip_static�s	cC�sC|jddt�}|jd|j�|j|jdd�dS(NRDtuse_gzipsContent-EncodingRYsAccept-Encoding(R�R�R[R�R_(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_gzip_not_requested�scC�s*|jd�}|j|jdd�dS(Ns/?vary=Accept-LanguageRYs Accept-Language, Accept-Encoding(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_vary_already_present�s(	R@RARRER;RRRR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s				tPathArgsInPrepareTestcB�s9eZdefd��YZd�Zd�Zd�ZRS(REcB�seZd�Zd�ZRS(cC�s&|jtd|jd|j��dS(NR�RB(RHRQR�tpath_kwargs(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�scC�s |dkst�|j�dS(NRZ(R�R(R=R/((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARRI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�s	cC�sd|jfd|jfgS(Ns	/pos/(.*)s/kw/(?P<path>.*)(RE(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�scC�sM|jd�}|j�t|j�}|j|idgd6id6�dS(Ns/pos/fooRZR�RB(R�RARR�R_(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_pos�s
cC�sQ|jd�}|j�t|j�}|j|igd6idd6d6�dS(Ns/kw/fooR�RZR/RB(R�RARR�R_(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_kw�s
(R@RARRER:R
R(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s		tClearAllCookiesTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�ZRS(cC�s|j�|jd�dS(NR*(tclear_all_cookiesRH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIs
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREscC�sl|jddidd6�}t|jjd��}|j|djd��|j|djd	��dS(
NRDR�sfoo=bar; baz=xyzzyR�s
Set-Cookieisbaz=;isfoo=;(R�R�R�R�RkR�(R=R�tset_cookies((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_clear_all_cookiess(R@RARRER(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRstPermissionErrorcB�seZRS((R@RA(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRstExceptionHandlerTestcB�s9eZdefd��YZd�Zd�Zd�ZRS(REcB�s#eZd�Zd�Zd�ZRS(cC�sc|jd�}|dkr-tdd��n2|dkrDddn|dkr_td	��ndS(
Ntexcthttpi�sno longer heretzeroiit
permissionsnot allowed(R�R R(R=R((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIscK�sfd|krO|d\}}}t|t�rO|jd�|jd�dSntj|||�dS(NRdi�R(t
isinstanceRR�RHRRf(R=ReRBttypRVttb((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRf"s

cC�sCt|t�r)tjd|jd�ntj||||�dS(Ns&custom logging for PermissionError: %si(RRRtwarningR�Rt
log_exception(R=RRVR((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR+s	(R@RARIRfR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREs				cC�s<ttd��'|jd�}|j|jd�WdQXdS(Ns.*no longer heres
/?exc=httpi�(RRR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_http_error2scC�s<ttd��'|jd�}|j|jd�WdQXdS(NsUncaught exceptions
/?exc=zeroi�(RRR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_unknown_error9scC�s<ttd��'|jd�}|j|jd�WdQXdS(Ns/custom logging for PermissionError: not alloweds/?exc=permissioni�(RRR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_known_error?s
(R@RARRERRR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRs		tBuggyLoggingTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�Zd�ZRS(cC�sdddS(Nii((R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIKscC�sdddS(Nii((R=RRVR((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRNs(R@RARIR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREJs	cC�s'ttd��|jd�WdQXdS(Ns.*RD(RRR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_buggy_log_exceptionQs(R@RARRER(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRHstUIMethodUIModuleTestcB�s?eZdZdefd��YZd�Zd�Zd�ZRS(s`Test that UI methods and modules are created correctly and
    associated with the handler.
    REcB�seZd�Zd�ZRS(cC�s|jd�dS(Nsfoo.html(R(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI^scC�s
|jd�S(NRV(R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRVas(R@RARIRV(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE]s	c	C�sYd�}dtfd��Y}tidd6�}td|di|d6d	i|d6�S(
NcS�sd||j�fS(Ns*In my_ui_method(%s) with handler value %s.(RV(Ratx((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytmy_ui_methodestMyModulecB�seZd�ZRS(cS�sd||jj�fS(Ns&In MyModule(%s) with handler value %s.(RaRV(R=R!((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRjs(R@RAR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR#iss1{{ my_ui_method(42) }} {% module MyModule(123) %}sfoo.htmlR5t
ui_methodsR"t
ui_modules(R&RRQ(R=R"R#R9((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;ds	

cC�s$tt|�j�tjj�dS(N(R:R R;RR<R=(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;uscC�s&|jd�}|j|jd�dS(Ns/?value=asdfsVIn my_ui_method(42) with handler value asdf. In MyModule(123) with handler value asdf.(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_ui_methodzs(R@RARBRRER;R;R&(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR Xs
		tGetArgumentErrorTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�ZRS(cC�sYy|jd�|ji�Wn4tk
rT}|ji|jd6|jd6�nXdS(NRZtarg_nametlog_message(R�RHR'R(R)(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�scC�s:|jd�}|jt|j�idd6dd6�dS(NRDRZR(sMissing argument fooR)(R�R_RR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_catch_error�s
(R@RARRER*(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR'�s	tMultipleExceptionTestcB�s'eZdefd��YZd�ZRS(REcB�s&eZdZed��Zd�ZRS(icC�s@ddlm}|j�jd��|j�jd��dS(Ni(tIOLoopcS�sddS(Nii((((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR4�scS�sddS(Nii((((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR4�s(ttornado.ioloopR,tcurrenttadd_callback(R=R,((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�scC�stjjd7_dS(Ni(R+REt	exc_count(R=RRVR((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s(R@RAR0RRIR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�scC�s^|jd�}|j|jd�|jd�}|j|jd�|jtjjd�dS(NRDi�i(R�R_R�t
assertGreaterR+RER0(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_multi_exception�s
(R@RARRER2(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR+�stSetLazyPropertiesTestcB�s'eZdefd��YZd�ZRS(REcB�s,eZd�Zd�Zd�Zd�ZRS(cC�sd|_tjd�|_dS(NtBenR�(tcurrent_userRRI(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s	cC�s
t��dS(N(R?(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_user_locale�scC�s
t��dS(N(R?(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_current_user�scC�s$|jd|j|jjf�dS(Ns
Hello %s (%s)(RHR5RR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARR6R7RI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�s			cC�s&|jd�}|j|jd�dS(NRDsHello Ben (en_US)(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_set_properties�s(R@RARRER8(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR3�stGetCurrentUserTestcB�sVeZd�Zd�Zd�Zejd�d��Zd�Zd�Z	d�Z
RS(cC�sudtfd��Y}dtfd��Y}tidd6dd6d	d
6dd6�}td
|di|d6|d6�S(NtWithoutUserModulecB�seZd�ZRS(cS�sdS(NRS((R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s(R@RAR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�stWithUserModulecB�seZd�ZRS(cS�s
t|j�S(N(R�R5(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s(R@RAR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�sRSswithout_user.htmls{{ current_user }}swith_user.htmls {% module WithoutUserModule() %}swithout_user_module.htmls{% module WithUserModule() %}swith_user_module.htmlR5R%(R&RRQ(R=R:R;R9((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�s

cC�s$tt|�j�tjj�dS(N(R:R9R;RR<R=(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�scC�s�dtfd��Y}d|fd��Y}d|fd��Y}d|fd��Y}d	|fd
��Y}d|fd��Y}d
|fd|fd|fd|fgS(NtCurrentUserHandlercB�seZd�Zd�ZRS(cS�s
t|_dS(N(R�thas_loaded_current_user(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�scS�s
t|_dS(NRS(R�R=(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR7�s	(R@RARR7(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR<�s	tWithoutUserHandlercB�seZd�ZRS(cS�s'|jd�|jt|j��dS(Nswithout_user.html(t
render_stringRR�R=(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR>�stWithUserHandlercB�seZd�ZRS(cS�s'|jd�|jt|j��dS(Nswith_user.html(R?RR�R=(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR@�stCurrentUserModuleHandlercB�seZd�ZRS(cS�s|jS(N(tui(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_template_namespace�s(R@RARC(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRA�stWithoutUserModuleHandlercB�seZd�ZRS(cS�s'|jd�|jt|j��dS(Nswithout_user_module.html(R?RR�R=(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRD�stWithUserModuleHandlercB�seZd�ZRS(cS�s'|jd�|jt|j��dS(Nswith_user_module.html(R?RR�R=(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�ss
/without_users
/with_users/without_user_modules/with_user_module(R(R=R<R>R@RARDRE((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�s			s	needs fixcC�s&|jd�}|j|jd�dS(Ns
/without_userR�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_get_current_user_is_lazyscC�s&|jd�}|j|jd�dS(Ns
/with_userR�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_get_current_user_worksscC�s&|jd�}|j|jd�dS(Ns/without_user_moduleR�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt,test_get_current_user_from_ui_module_is_lazyscC�s&|jd�}|j|jd�dS(Ns/with_user_moduleR�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt*test_get_current_user_from_ui_module_workss(R@RAR;R;R:RtskipRFRGRHRI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR9�s			)		tUnimplementedHTTPMethodsTestcB�s'eZdefd��YZd�ZRS(REcB�seZRS((R@RA(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREscC�s�xBddddgD].}|jdd|�}|j|jd�qWxBdd	gD]4}|jdd|d
d�}|j|jd�qRWdS(NR�R�tDELETEtOPTIONSRDR0i�RCtPUTR�RS(R�R_R�(R=R0R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt#test_unimplemented_standard_methods s(R@RARRERO(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRKst#UnimplementedNonStandardMethodsTestcB�s0eZdefd��YZd�Zd�ZRS(REcB�seZd�ZRS(cC�s|jd�dS(Ntother(RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRQ-s(R@RARQ(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE,scC�s2|jddddd�}|j|jd�dS(NRDR0tPATCHR�RSi�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_unimplemented_patch2scC�s2|jddddt�}|j|jd�dS(NRDR0tOTHERtallow_nonstandard_methodsi�(R�R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_unimplemented_other8s	(R@RARRERSRV(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRP)s	tAllHTTPMethodsTestcB�s'eZdefd��YZd�ZRS(REcB�s'eZd�ZeZZZZZRS(cC�s|j|jj�dS(N(RHR�R0(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR0As(R@RAR0RItdeletetoptionsRtput(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE@s	cC�s�|jddd�}|j|jd�xEdddgD]4}|jdd|�}|j|jt|��q8WxHdd	gD]:}|jdd|d
d�}|j|jt|��q}WdS(NRDR0R�RSR�RLRMRCRNR�(R�R_R�R(R=R�R0((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_standard_methodsFs(R@RARRER[(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRW>stPatchMethodTestcB�s0eZdefd��YZd�Zd�ZRS(REcB�s'eZejdZd�Zd�ZRS(RTcC�s|jd�dS(Ntpatch(RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR]UscC�s|jd�dS(NRQ(RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRQXs(sOTHER(R@RARtSUPPORTED_METHODSR]RQ(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRERs
	cC�s2|jddddd�}|j|jd�dS(NRDR0RRR�RSR](R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
test_patch[scC�s2|jddddt�}|j|jd�dS(NRDR0RTRURQ(R�R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
test_other_s	(R@RARRER_R`(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR\Qs		tFinishInPrepareTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�Zd�ZRS(cC�s|jd�dS(Ntdone(R(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRhscC�std��dS(Nsshould not reach this method(R�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIks(R@RARRI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREgs	cC�s&|jd�}|j|jd�dS(NRDRb(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_finish_in_prepareqs(R@RARRERc(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRaes
tDefault404TestcB�seZd�Zd�ZRS(cC�s
dtfgS(Ns/foo(R(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:xscC�s9|jd�}|j|jd�|j|jd�dS(NRDi�sE<html><title>404: Not Found</title><body>404: Not Found</body></html>(R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_404|s(R@RAR:Re(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRdvs	t
Custom404TestcB�s#eZd�Zd�Zd�ZRS(cC�s
dtfgS(Ns/foo(R(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�scC�s#dtfd��Y}td|�S(NtCustom404HandlercB�seZd�ZRS(cS�s|jd�|jd�dS(Ni�scustom 404 response(R�RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s
(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRg�stdefault_handler_class(RRQ(R=Rg((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�scC�s9|jd�}|j|jd�|j|jd�dS(NRDi�scustom 404 response(R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRe�s(R@RAR:R;Re(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRf�s		tDefaultHandlerArgumentsTestcB�s#eZd�Zd�Zd�ZRS(cC�s
dtfgS(Ns/foo(R(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�scC�stdtdtdd��S(NRhtdefault_handler_argsRei�(RQR%(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;�scC�s&|jd�}|j|jd�dS(NRDi�(R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_403�s(R@RAR:R;Rk(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRi�s		tHandlerByNameTestcB�seZd�Zd�ZRS(cC�sdtfdtdd�gS(Ns/hello1s/hello2s"tornado.test.web_test.HelloHandlers/hello3(s/hello2s"tornado.test.web_test.HelloHandler(RFR(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�s	cC�sj|jd�}|j|jd�|jd�}|j|jd�|jd�}|j|jd�dS(Ns/hello1RGs/hello2s/hello3(R�R_R�(R=tresp((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_handler_by_name�s(R@RAR:Rn(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRl�s	tStreamingRequestBodyTestcB�sVeZd�Zd�Zed��Zed��Zed��Zed��ZRS(c�s�tdtfd��Y�}tdtfd��Y�}tdtf�fd��Y��d|td|�fd	|fd
�td|�fgS(NtStreamingBodyHandlercB�s,eZd�Zd�Zd�Zd�ZRS(cS�s
||_dS(N(R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��scS�s|jjjd�dS(N(R�tpreparedt
set_resultRP(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�scS�s|jjj|�dS(N(R�R�Rr(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
data_received�scS�s$|jjjd�|ji�dS(N(R�tfinishedRrRPRH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RAR�RRsRI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRp�s			tEarlyReturnHandlercB�seZd�ZRS(cS�std��dS(Ni�(R (R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s(R@RAR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRu�stCloseDetectionHandlerc�s eZd�Z�fd�ZRS(cS�s
||_dS(N(R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��sc�s*t�|�j�|jjjd�dS(N(R:R�R�tclose_futureRrRP(R=(Rv(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s(R@RAR�R�((Rv(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRv�s	s/stream_bodyR�s
/early_returns/close_detection(R(RRQ(R=RpRu((Rvs;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�s	cC�s�tjtjtjd�}|jd|j�f�t|d|j�}|jd|d�|rt|jd�n|jd�|S(Nis	127.0.0.1R�sGET s HTTP/1.1
sConnection: close
sTransfer-Encoding: chunked

(R�R�R�R�R�R
R�RH(R=Rtconnection_closeR�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s
cc�s�t�|_t�|_t�|_|jddt�}|jV|jd�|jV}|j|d�t�|_|jd�|jV}|j|d�|jd�|jVt	j
|j�V}|j|j
d��|j�dS(	Ns/stream_bodyRxs	4
asdf
R�s	4
qwer
R�s0
s{}(RRqR�RtR�R�RHR_tassertEqualsRR'tread_until_closeRkR�R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_streaming_body�s"




cc�sB|jddt�}tj|j�V}|j|jd��dS(Ns
/early_returnRxsHTTP/1.1 401(R�R�RR'RzRkR�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_early_return�scc�sO|jddt�}|jd�tj|j�V}|j|jd��dS(Ns
/early_returnRxs	4
asdf
sHTTP/1.1 401(R�R�RHRR'RzRkR�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_early_return_with_datas
cc�s7t�|_|jddt�}|j�|jVdS(Ns/close_detectionRx(RRwR�R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_close_during_uploads
(	R@RAR:R�RR{R|R}R~(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRo�s	$	tStreamingRequestFlowControlTestcB�s#eZd�Zd�Zd�ZRS(c�sKddlm�tdtf�fd��Y�}d|td|�fgS(Ni(R,Rc�skeZd�Zejd��Zej�fd��Zej�fd��Z	ej�fd��Z
RS(cS�s||_d|_g|_dS(N(R�RPR0tmethods(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�s		cs�sb|jdk	r/|jjd||jf�n||_|jj|�z	dVWdd|_XdS(Nsentered method %s while in %s(R0RPR�tfailR�R6(R=R0((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt	in_method"s		c3�s+|jjd�tj�j�j�VdS(NR(R�R6RR'R.R/(R=(R,(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR.sc3�s1|jd��tj�j�j�VWdQXdS(NRs(R�RR'R.R/(R=R�(R,(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRs5sc3�sJ|jd��tj�j�j�VWdQX|jtd|j��dS(NRR�(R�RR'R.R/RHRQR�(R=(R,(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:s(R@RAR�t
contextlibtcontextmanagerR�Rt	coroutineRRsR((R,(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRs
	RDR�(R-R,R(RRQ(R=R((R,s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:s$cC�s
tdd�S(Nt
chunk_sizei
(RQ(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytget_httpserver_optionsBsc	C�sZ|jddddd�}|j�|jt|j�tdddddd	g��dS(
NRDR�tabcdefghijklmnopqrstuvwxyzR0RCR�RRsR(R�RAR_RR�RQ(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR_Gs	
(R@RAR:R�R_(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRs	.	tIncorrectContentLengthTestcB�s#eZd�Zd�Zd�ZRS(c�s]|�d|_dtf�fd��Y}dtf�fd��Y}d|fd|fgS(NtTooHighc�seZ�fd�ZRS(c�sG|jdd�y|jd�Wntk
rB}|�_�nXdS(NsContent-LengthR�R*(R RR�tserver_error(R=R�(R�(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIYs	(R@RARI((R�(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�XstTooLowc�seZ�fd�ZRS(c�sG|jdd�y|jd�Wntk
rB}|�_�nXdS(NsContent-LengthRRG(R RR�R�(R=R�(R�(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIbs	(R@RARI((R�(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�ass/highs/low(RPR�R(R=R�R�((R�s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:Ss				c
C�skttd��*ttd��|jd�}WdQXWdQX|j|jd�|jt|j�d�dS(Ns*(Uncaught exception|Exception in callback)sS(Cannot send error response after headers written|Failed to flush partial response)s/highiWs0Tried to write 40 bytes less than Content-Length(RRRR�R_R�R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_content_length_too_highms
c
C�skttd��*ttd��|jd�}WdQXWdQX|j|jd�|jt|j�d�dS(Ns*(Uncaught exception|Exception in callback)sS(Cannot send error response after headers written|Failed to flush partial response)s/lowiWs,Tried to write more data than Content-Length(RRRR�R_R�R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_content_length_too_lowzs
(R@RAR:R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�Qs		
tClientCloseTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�ZRS(cC�sI|jjjd�r8|jjjj�|jd�n
|jd�dS(NsHTTP/1RGsrequires HTTP/1.x(R�R\R�t
connectionR�R�RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�scC�sE|jd�}|jdkr.|jd�n|j|jd�dS(NRDsrequires HTTP/1.xiW(R�R�tskipTestR_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_client_close�s(R@RARRER�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��stSignedValueTestcB�s�eZdZidd6dd6dd6Zd�Zd�Zd	�Zd
�Zd�Zd�Z	d
�Z
d�Zd�Zd�Z
d�Zd�ZRS(sIt's a secret to everybodyt	asdfbasdfit12312312it2342342icC�s|j�dS(Ni�Qi i0*(tpresent(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytpast�scC�sdS(Nim|M((R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��scC�sttjddddd|j�}|j|d�ttjddddd|j�}|j|d�ttjddd|j�}|j||�ttjd|d	dd|j�}|j|d�ttjd|d	dd|j�}|j|d�dS(
NR�RVR\itclocks<dmFsdWU=|1300000000|31c934969f53e48164c50768b40cbd7e2daaaa4fise2|1:0|10:1300000000|3:key|8:dmFsdWU=|3d4e60b996ff9c5d5788e333a0cba6f238a22c6c0f94788870e1a9ecd482e152R](R#R�tSECRETR�R_R$(R=t	signed_v1t	signed_v2tsigned_defaultt
decoded_v1t
decoded_v2((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_known_values�s*	cC�s�ttjddd|j�}ttjddd|j�}ttjd|d|j�}|j|d�ttjd|d|j�}|j|d�dS(Ntkey1RVR�tkey2(R#R�R�R�R$tassertIsRP(R=tsigned1tsigned2tdecoded1tdecoded2((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_name_swap�scC�s~ttjddd|j�}ttjd|d|j�}|j|d�ttjd|d|j�}|j|d�dS(NR�RVR�(	R#R�R�R�R$R_R�R�RP(R=tsignedtdecoded_pasttdecoded_present((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_expired�sc�shd���fd�}�j|d���j|d���j|d���j|d��dS(Nt@3d4e60b996ff9c5d5788e333a0cba6f238a22c6c0f94788870e1a9ecd482e152c�s&dttjd|�d�j�kS(NRVR�R�(R$R�R�R�(tprefix(R=Ro(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytvalidate�ss%2|1:0|10:1300000000|3:key|8:dmFsdWU=|s%2|1:1|10:1300000000|3:key|8:dmFsdWU=|s$2|1:0|10:130000000|3:key|8:dmFsdWU=|s&2|1:0|10:1300000000|3:keey|8:dmFsdWU=|(RktassertFalse(R=R�((R=Ros;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_payload_tampering�sc�s�d���fd�}�j|d���j|dd���j|d���j|d���j|d���j|d	��dS(
Ns%2|1:0|10:1300000000|3:key|8:dmFsdWU=|c�s&dttjd�|d�j�kS(NRVR�R�(R$R�R�R�(Ro(R�R=(s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��sR�t0i t@4d4e60b996ff9c5d5788e333a0cba6f238a22c6c0f94788870e1a9ecd482e152t@3d4e60b996ff9c5d5788e333a0cba6f238a22c6c0f94788870e1a9ecd482e153t?3d4e60b996ff9c5d5788e333a0cba6f238a22c6c0f94788870e1a9ecd482e15tA3d4e60b996ff9c5d5788e333a0cba6f238a22c6c0f94788870e1a9ecd482e1538(RkR�(R=R�((R�R=s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_signature_tampering�s	
	
	
	
	cC�sVd}ttjd|d|j�}ttjd|d|j�}|j||�dS(Ns�R�R�(R#R�R�R�R$R_(R=RVR�tdecoded((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_non_ascii	scC�s\d}ttjd|d|jdd�}ttjd|d|j�}|j||�dS(Ns�R�R�RNi(R#R�tSECRET_DICTR�R$R_(R=RVR�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt*test_key_versioning_read_write_default_key	s			cC�s\d}ttjd|d|jdd�}ttjd|d|j�}|j||�dS(Ns�R�R�RNi(R#R�R�R�R$R_(R=RVR�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt.test_key_versioning_read_write_non_default_key	s			cC�sud}ttjd|d|jdd�}tjj�}|jd�t|d|d|j�}|jd|�dS(Ns�R�R�RNi(	R#R�R�R�RzR{R$R_RP(R=RVR�tnewkeysR�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_key_versioning_invalid_key	s		
cC�sJd}ttjd|d|jdd�}t|�}|jd|�dS(Ns�R�R�RNi(R#R�R�R�R-R_(R=RVR�RN((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_key_version_retrieval(	s		(R@RAR�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��s				
	
								tXSRFTestcB�s�eZdefd��YZd�Zd�Zddd�Zdd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�ZRS(REcB�seZd�Zd�ZRS(cC�s9t|jdd��}||jd<|j|j�dS(NR\Rtxsrf_cookie_version(R�R�RLRHR�(R=R\((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI4	s
cC�s|jd�dS(NR*(RH(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;	s(R@RARIR(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE3	s	cC�s
tdt�S(NR�(RQR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR;>	scC�s&tt|�j�|j�|_dS(N(R:R�tsetUpt	get_tokenR�(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�A	scC�sf|dk	r|j|�}nd}|j|dkr<dnd|d|�}|j�t|j�S(NRDs/?version=%dR�(RPtcookie_headersR�RAR
R�(R=t	old_tokenR\R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�E	s	
cC�s'|dkr|j}nid|d6S(Ns_xsrf=R�(RPR�(R=ttoken((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�P	sc
C�sHttd�� |jddddd�}WdQX|j|jd�dS(Ns.*'_xsrf' argument missingRDR0RCR�RSi�(RRR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_xsrf_fail_no_tokenU	s!c
C�s]ttd��5|jddddtjtd|j���}WdQX|j|jd�dS(Ns!.*XSRF cookie does not match POSTRDR0RCR�t_xsrfi�(	RRR�RTRURQR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_xsrf_fail_body_no_cookieZ	s
$cC�sTttd��,|jdddddd|j��}WdQX|j|jd�dS(	Ns.*'_xsrf' argument missingRDR0RCR�RSR�i�(RRR�R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_xsrf_fail_cookie_no_bodya	s
c
C�sV|jddddtjtdd��d|jdd��}|j|jd	�dS(
NRDR0RCR�R�tdeadbeefR�R�i�(R�RTRURQR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_xsrf_success_short_tokenh	s
c
C�sV|jddddtjtdd��d|jdd��}|j|jd	�dS(
NRDR0RCR�R�txoxoR�R�i�(R�RTRURQR�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_xsrf_success_non_hex_tokeno	s
c	C�sS|jddddtjtd|j��d|j��}|j|jd�dS(NRDR0RCR�R�R�i�(R�RTRURQR�R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_xsrf_success_post_bodyv	s
cC�sW|jdtjtd|j��ddddd|j��}|j|jd�dS(	Ns/?R�R0RCR�RSR�i�(R�RTRURQR�R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_xsrf_success_query_string}	s
cC�sQ|jddddddti|jd6|j���}|j|jd�dS(	NRDR0RCR�RSR�sX-Xsrftokeni�(R�RQR�R�R_R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_xsrf_success_header�	scC�sSd}t�}x't|�D]}|j|j��qW|jt|�|�dS(Ni
(R�trangeR�R�R_R�(R=t
NUM_TOKENSttokensti((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_distinct_tokens�	s
	cC�s
|j�}xf|j|fD]U}|jddddtjtd|��d|j|��}|j|jd�qWx�|j|f||jffD]q\}}t	t
d��A|jddddtjtd|��d|j|��}WdQX|j|jd	�q�WdS(
NRDR0RCR�R�R�i�s!.*XSRF cookie does not match POSTi�(R�R�R�RTRURQR�R_R�RR(R=ttoken2R�R�tcookie_tokent
body_token((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_cross_user�	sc
C�s�|j}t|g�}x�td�D]t}|j|�}|j|�|jddddtjtd|j��d|j	|��}|j
|jd�q%W|j
t|�d	�dS(
NiRDR0RCR�R�R�i�i(
R�R�R�R�R�R�RTRURQR�R_R�R�(R=R�ttokens_seenR�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_refresh_token�	s	
c
C�s$|j|jdd�|jdd��|jdd�}x3td�D]%}|j|j|dd�|�qGW|j|�}|j||�|j||j|��xu||f||ffD][\}}|jddddtjtd|��d	|j|��}|j|j	d
�q�WdS(NR\iiRDR0RCR�R�R�i�(
tassertNotEqualR�R�R_R�RTRURQR�R�(R=tv1_tokenR�tv2_tokenR�R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_versioning�	s#N(R@RARRER;R�RPR�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�1	s"													tFinishExceptionTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�ZRS(cC�s7|jd�|jdd�|jd�t��dS(Ni�sWWW-AuthenticatesBasic realm="something"sauthentication required(R�R RHR)(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�	s

(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRE�	scC�sU|jd�}|j|jd�|jd|jjd��|jd|j�dS(NRDi�sBasic realm="something"sWWW-Authenticatesauthentication required(R�R_R�R�RIR�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_finish_exception�	s
	(R@RARRER�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��	st
DecoratorTestcB�s#eZd�Zd�Zd�ZRS(cC�sBdtfd��Y}dtfd��Y}d|fd|fgS(NtRemoveSlashHandlercB�seZed��ZRS(cS�sdS(N((R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�	s(R@RAR*RI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��	stAddSlashHandlercB�seZed��ZRS(cS�sdS(N((R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI�	s(R@RAR+RI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��	ss
/removeslash/s	/addslash(R(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:�	s	cC�s�|jddt�}|j|jd�|j|jdd�|jddt�}|j|jd�|j|jdd�dS(Ns
/removeslash/R�i-R�s/removeslashs/removeslash/?foo=bars/removeslash?foo=bar(R�R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_removeslash�	scC�s�|jddt�}|j|jd�|j|jdd�|jddt�}|j|jd�|j|jdd�dS(Ns	/addslashR�i-R�s
/addslash/s/addslash?foo=bars/addslash/?foo=bar(R�R�R_R�R�(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt
test_addslash�	s(R@RAR:R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR��	s			t	CacheTestcB�skeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZRS(cC�s#dtfd��Y}d|fgS(NtEtagHandlercB�seZd�Zd�ZRS(cS�s|j|�dS(N(RH(R=t
computed_etag((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRI

scS�s|jdS(Ni(t
_write_buffer(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pytcompute_etag
s(R@RARIR�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�	
s	s
/etag/(.*)(R(R=R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR:
scC�s#d}d}|j||d�dS(Ns"xyzzy"t*i0(t
_test_etag(R=R�tetags((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_wildcard_etag
scC�s#d}d}|j||d�dS(Ns"xyzzy"i0(R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_strong_etag_match
scC�s#d}d}|j||d�dS(Ns"xyzzy1"s"xyzzy1", "xyzzy2"i0(R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_multiple_strong_etag_match
scC�s#d}d}|j||d�dS(Ns"xyzzy"s"xyzzy1"i�(R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_strong_etag_not_match#
scC�s#d}d}|j||d�dS(Ns"xyzzy"s"xyzzy1", "xyzzy2"i�(R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt#test_multiple_strong_etag_not_match(
scC�s#d}d}|j||d�dS(Ns"xyzzy1"s
W/"xyzzy1"i0(R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_weak_etag_match-
scC�s#d}d}|j||d�dS(Ns"xyzzy2"sW/"xyzzy1", W/"xyzzy2"i0(R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_multiple_weak_etag_match2
scC�s#d}d}|j||d�dS(Ns"xyzzy2"s
W/"xyzzy1"i�(R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_weak_etag_not_match7
scC�s#d}d}|j||d�dS(Ns"xyzzy3"sW/"xyzzy1", W/"xyzzy2"i�(R�(R=R�R�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt!test_multiple_weak_etag_not_match<
scC�s7|jd|di|d6�}|j|j|�dS(Ns/etag/R�s
If-None-Match(R�R_R�(R=R�R�ReR�((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�A
s
(
R@RAR:R�R�R�R�R�R�R�R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�
s										tRequestSummaryTestcB�s'eZdefd��YZd�ZRS(REcB�seZd�ZRS(cC�s#d|j_|j|j��dS(N(RPR�t	remote_ipRR(R=((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyRIL
s(R@RARI(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyREK
scC�s&|jd�}|j|jd�dS(NRDsGET / (None)(R�R_R�(R=Rm((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyttest_missing_remote_ipS
s(R@RARRER�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyR�I
s(�t
__future__RRRRttornado.concurrentRttornadoRttornado.escapeRRRR	R
Rttornado.httputilRttornado.iostreamR
Rttornado.logRRttornado.simple_httpclientRttornado.templateRttornado.testingRRRttornado.test.utilRttornado.utilRRRRttornado.webRRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R?R-RgR�R�temail.utilsR�R�R�R.RiR�turllib.parsetparseRTtImportErrorturllibR5R�R8R9RCRFRJtTestCaseRYRrR~R�R�R�R�R�R�R�R	RRRRRR$R)R,R1R4R]RaRkR�R�R�R�R�R�R�R�R�R�R�RRRR�RRRR R'R+R3R9RKRPRWR\RaRdRfRiRlRoRR�R�R�R�R�R�R�R�(((s;/usr/lib64/python2.7/site-packages/tornado/test/web_test.pyt<module>s"."|
			-,�
*,
�=�B"
-
1(T


\>6��#B

Zerion Mini Shell 1.0