Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
djangorestframework / __pycache__ / test.cpython-35.pyc
Size: Mime:


c˜X…3ã@s]ddlmZddlZddlmZddlmZddlmZddl	m
Z
ddlmZ
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZmZddlmZdddd„Zedk	rpGdd„dejjjj ƒZ!Gdd„de"ƒZ#Gdd„dej$j%ƒZ&Gdd„dej'ƒZ(ndd„Z(edk	r¤Gdd„dejƒZ)ndd„Z)Gdd„deƒZ*Gdd „d eƒZ+Gd!d"„d"e*e
ƒZ,Gd#d$„d$e
j-ƒZ.Gd%d&„d&e
j/ƒZ0Gd'd(„d(e
j1ƒZ2Gd)d*„d*e
j3ƒZ4dS)+é)Úunicode_literalsN)Úsettings)ÚImproperlyConfigured)ÚWSGIHandler)Ú	testcases)ÚClient)ÚRequestFactory)Ú
ClientHandler)Úsix)Úforce_bytes)Ú	urlencode)ÚcoreapiÚrequests)Úapi_settingscCs||_||_dS)N)Ú_force_auth_userÚ_force_auth_token)ÚrequestÚuserÚtoken©rúR/Users/carlton/Documents/Django-Stack/django-rest-framework/rest_framework/test.pyÚforce_authenticates	rc@seZdZdd„ZdS)Ú
HeaderDictcCs
|j|ƒS)N)Ú
getheaders)ÚselfÚkeyÚdefaultrrrÚget_allszHeaderDict.get_allN)Ú__name__Ú
__module__Ú__qualname__rrrrrrsrc@s4eZdZdd„Zdd„Zdd„ZdS)ÚMockOriginalResponsecCst|ƒ|_d|_dS)NF)rÚmsgÚclosed)rÚheadersrrrÚ__init__#szMockOriginalResponse.__init__cCs|jS)N)r#)rrrrÚisclosed'szMockOriginalResponse.isclosedcCs
d|_dS)NT)r#)rrrrÚclose*szMockOriginalResponse.closeN)rrr r%r&r'rrrrr!"sr!c@sFeZdZdZdd„Zdd„Zdd„Zdd	„Zd
S)ÚDjangoTestAdapterz¤
        A transport adapter for `requests`, that makes requests via the
        Django WSGI app, rather than making actual HTTP requests over the network.
        cCstƒ|_tƒ|_dS)N)rÚappÚDjangoRequestFactoryÚfactory)rrrrr%2szDjangoTestAdapter.__init__cCsê|j}|j}i}|jdk	r\t|jdƒrO|jjƒ|d<n
|j|d<d|jkr||jd|d<xR|jjƒD]A\}}|jƒ}|dkr³qŒ||d	|jd
dƒ<qŒW|j	j
|||jS)
zb
            Given a `requests.PreparedRequest` instance, return a WSGI environ dict.
            NÚreadÚdatazcontent-typeÚcontent_typeÚ
CONNECTIONúCONTENT-LENGTHúCONTENT-TYPEzHTTP_%sú-Ú_)r/r0r1)ÚmethodÚurlÚbodyÚhasattrr,r$ÚitemsÚupperÚreplacer+ÚgenericÚenviron)rrr4r5ÚkwargsrÚvaluerrrÚget_environ6s		
zDjangoTestAdapter.get_environcszi‰‡fdd†}|j|ƒ}|j||ƒ}tjdj|ƒƒˆd<tjjjˆ}|j	||ƒS)zR
            Make an outgoing request to the Django WSGI application.
            csd|jdƒ\}}}t|ƒˆd<|ˆd<|ˆd<dˆd<dˆd<t|ƒˆd	<dS)
Nú ÚstatusÚreasonr$éÚversionFÚpreload_contentÚoriginal_response)Ú	partitionÚintr!)Zwsgi_statusZwsgi_headersrAr3rB)Ú
raw_kwargsrrÚstart_responseVs



z.DjangoTestAdapter.send.<locals>.start_responseór6)
r?r)ÚioÚBytesIOÚjoinrÚpackagesÚurllib3ÚHTTPResponseÚbuild_response)rrÚargsr=rJr<Z
wsgi_responseÚrawr)rIrÚsendPs
zDjangoTestAdapter.sendcCsdS)Nr)rrrrr'jszDjangoTestAdapter.closeN)rrr Ú__doc__r%r?rUr'rrrrr(-s
r(cs4eZdZ‡fdd†Z‡fdd†Z‡S)ÚRequestsClientcsFtt|ƒj||Žtƒ}|jd|ƒ|jd|ƒdS)Nzhttp://zhttps://)ÚsuperrWr%r(Úmount)rrSr=Úadapter)Ú	__class__rrr%ns	zRequestsClient.__init__cs>|jdƒstd|ƒ‚tt|ƒj||||ŽS)NÚhttpzPMissing "http:" or "https:". Use a fully qualified URL, eg "http://testserver%s")Ú
startswithÚ
ValueErrorrXrWr)rr4r5rSr=)r[rrrtszRequestsClient.request)rrr r%rrr)r[rrWmsrWcOstdƒ‚dS)Nz:requests must be installed in order to use RequestsClient.)r)rSr=rrrrWzscs4eZdZ‡fdd†Zedd„ƒZ‡S)Ú
CoreAPIClientcsDtƒ|_tjjd|jƒg|d<tt|ƒj||ŽS)NÚsessionÚ
transports)	rWÚ_sessionr
raÚ
HTTPTransportr`rXr_r%)rrSr=)r[rrr%€szCoreAPIClient.__init__cCs|jS)N)rb)rrrrr`…szCoreAPIClient.session)rrr r%Úpropertyr`rr)r[rr_sr_cOstdƒ‚dS)Nz8coreapi must be installed in order to use CoreAPIClient.)r)rSr=rrrr_ŠscsÓeZdZejZejZd‡fdd†Zdddd„Z	ddd„Z
dddd	d
„Zddddd„Zdddd
d„Z
ddddd„Zddddd„Z‡fdd†Z‡S)ÚAPIRequestFactoryFcsP||_i|_x!|jD]}||j|j<qWtt|ƒj|dS)N)Úenforce_csrf_checksÚrenderer_classesÚrenderer_classes_listÚformatrXrer%)rrfÚdefaultsÚcls)r[rrr%’s
		zAPIRequestFactory.__init__NcCs|dkrd|fS|dks:|dks:tdƒ‚|rUt|tjƒ}n¶|pa|j}||jksªtdj|djdd„|jjƒDƒƒƒƒ‚|j|ƒ}|j	|ƒ}dj|j
|jƒ}t|t
jƒrt|j|jƒƒ}||fS)	zP
        Encode the data returning a two tuple of (bytes, content_type)
        NÚz1You may not set both `format` and `content_type`.zsInvalid format '{0}'. Available formats are {1}. Set TEST_REQUEST_RENDERER_CLASSES to enable extra request formats.z, cSsg|]}d|d‘qS)ú'r)Ú.0Úfmtrrrú
<listcomp>±s	z2APIRequestFactory._encode_data.<locals>.<listcomp>z{0}; charset={1})ÚAssertionErrorrrÚDEFAULT_CHARSETÚdefault_formatrgrirNÚkeysÚrenderÚ
media_typeÚcharsetÚ
isinstancer
Ú	text_typeÚbytesÚencode)rr-rir.ÚretÚrendererrrrÚ_encode_data™s$
	+zAPIRequestFactory._encode_datacKsŒdt|piddƒi}|rld|krlt|jdƒdƒ}tjrb|jdƒ}||d<|j|ƒ|jd||S)NÚQUERY_STRINGÚdoseqTú?éz
iso-8859-1ÚGET)rrÚsplitr
ÚPY3ÚdecodeÚupdater;)rÚpathr-ÚextraÚrÚquery_stringrrrÚgetÄs	

zAPIRequestFactory.getcKs4|j|||ƒ\}}|jd||||S)NÚPOST)r~r;)rrˆr-rir.r‰rrrÚpostÒszAPIRequestFactory.postcKs4|j|||ƒ\}}|jd||||S)NÚPUT)r~r;)rrˆr-rir.r‰rrrÚputÖszAPIRequestFactory.putcKs4|j|||ƒ\}}|jd||||S)NÚPATCH)r~r;)rrˆr-rir.r‰rrrÚpatchÚszAPIRequestFactory.patchcKs4|j|||ƒ\}}|jd||||S)NÚDELETE)r~r;)rrˆr-rir.r‰rrrÚdeleteÞszAPIRequestFactory.deletecKs4|j|||ƒ\}}|jd||||S)NÚOPTIONS)r~r;)rrˆr-rir.r‰rrrÚoptionsâszAPIRequestFactory.optionscs)tt|ƒj|}|j|_|S)N)rXrerrfÚ_dont_enforce_csrf_checks)rr=r)r[rrræs
zAPIRequestFactory.request)rrr rÚTEST_REQUEST_RENDERER_CLASSESrhÚTEST_REQUEST_DEFAULT_FORMATrsr%r~rŒrŽrr’r”r–rrr)r[rreŽs		+recs:eZdZdZ‡fdd†Z‡fdd†Z‡S)ÚForceAuthClientHandlerzj
    A patched version of ClientHandler that can enforce authentication
    on the outgoing requests.
    cs/d|_d|_tt|ƒj||ŽdS)N)Ú_force_userÚ_force_tokenrXršr%)rrSr=)r[rrr%òs		zForceAuthClientHandler.__init__cs,t||j|jƒtt|ƒj|ƒS)N)rr›rœrXršÚget_response)rr)r[rrr÷sz#ForceAuthClientHandler.get_response)rrr rVr%rrr)r[rršìsršcseZdZd‡fdd†Zdd„Zdddd„Z‡fd	d
†Zdd‡fdd†Zdddd‡fd
d†Zdddd‡fdd†Z	dddd‡fdd†Z
dddd‡fdd†Zdddd‡fdd†Z‡fdd†Z
‡S)Ú	APIClientFcs2tt|ƒj|t|ƒ|_i|_dS)N)rXržr%ršÚhandlerÚ_credentials)rrfrj)r[rrr%ÿszAPIClient.__init__cKs
||_dS)zK
        Sets headers that will be used on every outgoing request.
        N)r )rr=rrrÚcredentialsszAPIClient.credentialsNcCs2||j_||j_|dkr.|jƒdS)zd
        Forcibly authenticates outgoing requests with the given
        user and/or token.
        N)rŸr›rœÚlogout)rrrrrrr
szAPIClient.force_authenticatecs&|j|jƒtt|ƒj|S)N)r‡r rXržr)rr=)r[rrrszAPIClient.requestcs=tt|ƒj|d||}|r9|j||}|S)Nr-)rXržrŒÚ_handle_redirects)rrˆr-Úfollowr‰Úresponse)r[rrrŒs!z
APIClient.getc	sItt|ƒj|d|d|d||}|rE|j||}|S)Nr-rir.)rXržrŽr£)rrˆr-rir.r¤r‰r¥)r[rrrŽs
zAPIClient.postc	sItt|ƒj|d|d|d||}|rE|j||}|S)Nr-rir.)rXržrr£)rrˆr-rir.r¤r‰r¥)r[rrr's
z
APIClient.putc	sItt|ƒj|d|d|d||}|rE|j||}|S)Nr-rir.)rXržr’r£)rrˆr-rir.r¤r‰r¥)r[rrr’/s
zAPIClient.patchc	sItt|ƒj|d|d|d||}|rE|j||}|S)Nr-rir.)rXržr”r£)rrˆr-rir.r¤r‰r¥)r[rrr”7s
zAPIClient.deletec	sItt|ƒj|d|d|d||}|rE|j||}|S)Nr-rir.)rXržr–r£)rrˆr-rir.r¤r‰r¥)r[rrr–?s
zAPIClient.optionscsAi|_d|j_d|j_|jr=tt|ƒjƒdS)N)r rŸr›rœr`rXržr¢)r)r[rrr¢Gs
		zAPIClient.logout)rrr r%r¡rrrŒrŽrr’r”r–r¢rr)r[rržþs 
					ržc@seZdZeZdS)ÚAPITransactionTestCaseN)rrr ržÚclient_classrrrrr¦Rsr¦c@seZdZeZdS)ÚAPITestCaseN)rrr ržr§rrrrr¨Vsr¨c@seZdZeZdS)ÚAPISimpleTestCaseN)rrr ržr§rrrrr©Zsr©c@seZdZeZdS)ÚAPILiveServerTestCaseN)rrr ržr§rrrrrª^srª)5Ú
__future__rrLÚdjango.confrÚdjango.core.exceptionsrÚdjango.core.handlers.wsgirÚdjango.testrÚdjango.test.clientrZDjangoClientrr*r	Údjango.utilsr
Údjango.utils.encodingrÚdjango.utils.httprÚrest_framework.compatr
rÚrest_framework.settingsrrrOrPÚ_collectionsÚHTTPHeaderDictrÚobjectr!ÚadaptersÚHTTPAdapterr(ÚSessionrWr_reršržÚTransactionTestCaser¦ÚTestCaser¨ÚSimpleTestCaser©ÚLiveServerTestCaserªrrrrÚ<module>s<"@
^T