Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/__pycache__/test_urllib2.cpython-33.pyc

�
��f��c@szddlZddlmZddlZddlZddlZddlZddlZddlZ	ddlm
Z
mZmZddl
Z	Gdd�dej�ZGdd�dej�ZGdd	�d	�ZGd
d�d�ZGdd
�d
e�ZGdd�dej�ZGdd�d�ZGdd�d�ZGdd�dej�ZGdd�d�ZGdd�d�Zdd�Zdd�ZGdd�de	jj �Z!Gd d!�d!e	jj"�Z#Gd"d#�d#�Z$Gd$d%�d%ej�Z%d&d'�Z&Gd(d)�d)ej�Z'Gd*d+�d+ej�Z(Gd,d-�d-ej�Z)e*d.d/�Z+e,d0krve+d1e-�ndS(2iN(usupport(uRequestuOpenerDirectoru_proxy_bypass_macosx_sysconfcBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
uTrivialTestsc
Cs�x�dD]�}i}td||�|d=|dkr�tjdkr�|jd	�|jd
�}}|j|jd�|j|jd�nxD|j�D]6\}}|j|jd|d
|||jf�q�WqWdS(Nurequesturesponseuparseuerrorurobotparserufrom urllib.%s import *u__builtins__untuurl2pathnameupathname2urlu
nturl2pathu	urllib.%su.%r is exposed in 'urllib.%s' but defined in %r(urequesturesponseuparseuerrorurobotparser(uexecuosunameupopuassertEqualu
__module__uitems(uselfumoduleucontextuuupukuv((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest___all__s
uTrivialTests.test___all__cCs�|jttjjd�tjjtjj�j	dd�}tj
dkrYd|}n
d|}tjj|�}|j�|j�dS(Nu	bogus urlu\u/untu
file:///%su	file://%s(
uassertRaisesu
ValueErroruurlliburequestuurlopenuosupathuabspathu__file__ureplaceunameureaduclose(uselfufnameufile_urluf((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_trivial&s$


uTrivialTests.test_trivialc
Cs�ddddgfdddgfdddd	d
ddd
gfddddgfg}x0|D](\}}|jtjj|�|�q^WdS(Nua,b,cuaubucupath"o,l"og"i"cal, exampleupath"o,l"og"i"caluexampleua, b, "c", "d", "e,f", g, hu"c"u"d"u"e,f"uguhua="b\"c", d="e\,f", g="h\\i"ua="b"c"ud="e,f"ug="h\i"(uassertEqualuurlliburequestuparse_http_list(uselfutestsustringulist((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_parse_http_list8su!TrivialTests.test_parse_http_listcCs/tjjd�}|j|jt|��dS(Nureason(uurllibuerroruURLErroruassertInureasonustr(uselfuerr((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_URLError_reasonstrCsu$TrivialTests.test_URLError_reasonstrN(u__name__u
__module__u__qualname__utest___all__utest_trivialutest_parse_http_listutest_URLError_reasonstr(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuTrivialTestssuTrivialTestscBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
uRequestHdrsTestscCs^d}|jt|didd6�jdd�|jt|didd6�jdd�dS(u(
        The Request.headers dictionary is not a documented interface.  It
        should stay that way, because the complete set of headers are only
        accessible through the .get_header(), .has_header(), .header_items()
        interface.  However, .headers pre-dates those methods, and so real code
        will be using the dictionary.

        The introduction in 2.4 of those methods was a mistake for the same
        reason: code that previously saw all (urllib2 user)-provided headers in
        .headers now sees only a subset.

        uhttp://example.comuheadersublahu	Spam-eggsu	spam-EggSN(uassertEqualuRequestuheaders(uselfuurl((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_request_headers_dictIs
u*RequestHdrsTests.test_request_headers_dictcCs�d}t|didd6�}|j|jd��|j|j�dg�|jdd�|jt|j��dd
g�|j|jd��|j|j	d��|j|j	dd	�d	�d
S(u;
        Note the case normalization of header names here, to
        .capitalize()-case.  This should be preserved for
        backwards-compatibility.  (In the HTTP case, normalization to
        .title()-case is done by urllib2 before sending headers to
        http.client).

        Note that e.g. r.has_header("spam-EggS") is currently False, and
        r.get_header("spam-EggS") returns None, but that could be changed in
        future.

        Method r.remove_header should remove items both from r.headers and
        r.unredirected_hdrs dictionaries
        uhttp://example.comuheadersublahu	Spam-eggsuFoo-BarubazuFoo-baru	Not-thereudefaultN(u	Spam-eggsublah(uFoo-barubaz(u	Spam-eggsublah(
uRequestu
assertTrueu
has_headeruassertEqualuheader_itemsu
add_headerusorteduassertFalseuassertIsNoneu
get_header(uselfuurlureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_request_headers_methods^s
u-RequestHdrsTests.test_request_headers_methodscCsZtjj�}|j}|j}|dddd�|dddd�|ddd	d�|dd
dd�|d
ddd�|d
ddd�|dddd�|dddd�|dddd�|dddd�|j|dd�d#�|j|dd�d$�|j|dd�d%�|j|dd�d&�|j|dd�d'�|j|dd�d(�|j|dd
�d)�|j|d
d�d*�|j|dd�d+�|j|dd �d,�|j|dd!�d-�|j|dd"�d.�|j|dd�d/�|j|dd�d0�|j|dd�d1�dS(2Nu
Some Realmuhttp://example.com/ujoeupassworduhttp://example.com/niuniucuhttp://example.com/fooufoouhttp://example.com/barubaruniniubufirstublahuseconduspamuauhttp://example.comu1uhttp://c.example.com:3128u3u
d.example.comu4udue.example.com:3128u5ueuexample.comuhttp://example.com/spamuhttp://example.com/spam/spamuhttp://a.example.com/u
c.example.comuc.example.com:3128(ujoeupassword(ujoeupassword(ujoeupassword(ujoeupassword(ujoeupassword(ufoouni(ubarunini(useconduspam(u1ua(NN(NN(u3uc(u3uc(u4ud(u5ue(uurlliburequestuHTTPPasswordMgruadd_passwordufind_user_passworduassertEqualuNone(uselfumgruaddufind_user_pass((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_password_managerzs\		u&RequestHdrsTests.test_password_managercCstjj�}|j}|j}|dddd�|dddd�|d	d
dd�|d
ddd�|j|dd�d�|j|dd�d �|j|dd�d!�|j|dd�d"�|j|dd�d#�|j|dd�d$�|j|dd�d%�|j|dd�d&�|j|dd�d'�|j|d	d�d(�|j|d	d
�d)�|j|d	d�d*�|j|d
d�d+�|j|d
d�d,�|j|d
d�d-�|j|d
d�d.�dS(/u�
        The point to note here is that we can't guess the default port if
        there's no scheme.  This applies to both add_password and
        find_user_password.
        ufuhttp://g.example.com:80u10ujuguhttp://h.example.comu11ukuhui.example.com:80u12uluiu
j.example.comu13umug.example.com:100ug.example.com:80u
g.example.comuhttp://g.example.com:100uhttp://g.example.comu
h.example.comuh.example.com:80uhttp://h.example.com:80u
i.example.comuhttp://i.example.com:80uj.example.com:80uhttp://j.example.comuhttp://j.example.com:80N(NN(u10uj(NN(NN(u10uj(u10uj(u11uk(u11uk(u11uk(NN(u12ul(u12ul(u13um(NN(u13um(NN(uurlliburequestuHTTPPasswordMgruadd_passwordufind_user_passworduassertEqualuNone(uselfumgruaddufind_user_pass((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu"test_password_manager_default_port�sD		u3RequestHdrsTests.test_password_manager_default_portN(u__name__u
__module__u__qualname__utest_request_headers_dictutest_request_headers_methodsutest_password_manageru"test_password_manager_default_port(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuRequestHdrsTestsGs;uRequestHdrsTestscBs;|EeZdZgZdejdd�Zdd�ZdS(u
MockOpenercCs!||||_|_|_dS(N(urequdatautimeout(uselfurequdatautimeout((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuopen�suMockOpener.opencGs|||_|_dS(N(uprotouargs(uselfuprotouargs((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuerror�suMockOpener.errorN(	u__name__u
__module__u__qualname__u
addheadersuNoneusocketu_GLOBAL_DEFAULT_TIMEOUTuopenuerror(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
MockOpener�su
MockOpenercBs>|EeZdZddd�Zddd�Zdd�ZdS(uMockFilecCsdS(N((uselfucount((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuread�su
MockFile.readcCsdS(N((uselfucount((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyureadline�suMockFile.readlinecCsdS(N((uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuclose�suMockFile.closeN(u__name__u
__module__u__qualname__uNoneureadureadlineuclose(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockFile�suMockFilecBs |EeZdZdd�ZdS(uMockHeaderscCst|j��S(N(ulistuvalues(uselfuname((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
getheaders�suMockHeaders.getheadersN(u__name__u
__module__u__qualname__u
getheaders(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockHeaders�suMockHeaderscBs;|EeZdZddd�Zdd�Zdd�ZdS(uMockResponsecCsAtjj||�||||f\|_|_|_|_dS(N(uiouStringIOu__init__ucodeumsguheadersuurl(uselfucodeumsguheadersudatauurl((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__�suMockResponse.__init__cCs|jS(N(uheaders(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuinfo�suMockResponse.infocCs|jS(N(uurl(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyugeturl�suMockResponse.geturlN(u__name__u
__module__u__qualname__uNoneu__init__uinfougeturl(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockResponse�suMockResponsecBs,|EeZdZdd�Zdd�ZdS(u
MockCookieJarcCs
||_dS(N(uach_req(uselfurequest((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuadd_cookie_header�suMockCookieJar.add_cookie_headercCs|||_|_dS(N(uec_requec_r(uselfuresponseurequest((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuextract_cookies�suMockCookieJar.extract_cookiesN(u__name__u
__module__u__qualname__uadd_cookie_headeruextract_cookies(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
MockCookieJar�su
MockCookieJarcBs,|EeZdZdd�Zdd�ZdS(u
FakeMethodcCs||_||_||_dS(N(u	meth_nameuhandleuaction(uselfu	meth_nameuactionuhandle((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__�s		uFakeMethod.__init__cGs|j|j|j|�S(N(uhandleu	meth_nameuaction(uselfuargs((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__call__suFakeMethod.__call__N(u__name__u
__module__u__qualname__u__init__u__call__(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
FakeMethod�su
FakeMethodcBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
uMockHTTPResponsecCs1||_||_||_||_d|_dS(Ni�(ufpumsgustatusureasonucode(uselfufpumsgustatusureason((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__s
				uMockHTTPResponse.__init__cCsdS(Nu((uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyureadsuMockHTTPResponse.readcCsiS(N((uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuinfosuMockHTTPResponse.infocCs|jS(N(uurl(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyugeturlsuMockHTTPResponse.geturlN(u__name__u
__module__u__qualname__u__init__ureaduinfougeturl(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockHTTPResponsesuMockHTTPResponsecBsz|EeZdZdd�Zejdd�Zdd�Zdddd�Z	ddd	d
�Z
dd�Zd
d�ZdS(u
MockHTTPClasscCs:d|_g|_d|_d|_d|_i|_dS(NiF(ulevelureq_headersuNoneudatauFalseuraise_on_endheadersusocku_tunnel_headers(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__s					uMockHTTPClass.__init__cCs||_||_|S(N(uhostutimeout(uselfuhostutimeout((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__call__!s		uMockHTTPClass.__call__cCs
||_dS(N(ulevel(uselfulevel((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuset_debuglevel&suMockHTTPClass.set_debuglevelcCs5||_||_|r$||_n
|jj�dS(N(u_tunnel_hostu_tunnel_portu_tunnel_headersuclear(uselfuhostuportuheaders((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
set_tunnel)s
		uMockHTTPClass.set_tunnelcCs}||_||_|dk	r6|j|j�7_n|jj�|rU||_n|jryddl}|j	��ndS(Ni(
umethoduselectoruNoneureq_headersuitemsusortudatauraise_on_endheadersusocketuerror(uselfumethoduurlubodyuheadersusocket((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyurequest1s		
	uMockHTTPClass.requestcCstt�idd�S(Ni�uOK(uMockHTTPResponseuMockFile(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyugetresponse<suMockHTTPClass.getresponsecCsdS(N((uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuclose?suMockHTTPClass.closeN(
u__name__u
__module__u__qualname__u__init__usocketu_GLOBAL_DEFAULT_TIMEOUTu__call__uset_debugleveluNoneu
set_tunnelurequestugetresponseuclose(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
MockHTTPClasssu
MockHTTPClasscBsb|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS(uMockHandleri�cCs|j|�dS(N(u_define_methods(uselfumethods((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__FsuMockHandler.__init__cCskxd|D]\}t|�dkr.|\}}n
|d}}t|||j�}t|j||�qWdS(Ni(ulenuNoneu
FakeMethoduhandleusetattru	__class__(uselfumethodsuspecunameuactionumeth((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu_define_methodsHs

uMockHandler._define_methodscOs4|jjj||||f�|dkr/dS|dkr?|S|dkrdtddid�}|S|dkrztd�S|jd�r||jd	�d
d�}yt|�}Wnt	k
r�YnXtddid�}|jj
d|d||di�S|d
kr$tj
jd��nds0t�dS(Nureturn selfureturn responsei�uOKuureturn requestuhttp://blah/uerroru iuhttpiuraiseublahF(uparentucallsuappenduNoneuMockResponseuRequestu
startswithurfinduintu
ValueErroruerroruurllibuURLErroruFalseuAssertionError(uselfufn_nameuactionuargsukwdsuresucode((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuhandleNs*

#uMockHandler.handlecCsdS(N((uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuclosedsuMockHandler.closecCs||_g|j_dS(N(uparentucalls(uselfuparent((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
add_parentes	uMockHandler.add_parentcCs#t|d�sdS|j|jkS(Nu
handler_orderT(uhasattruTrueu
handler_order(uselfuother((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__lt__hsuMockHandler.__lt__N(
u__name__u
__module__u__qualname__u
handler_orderu__init__u_define_methodsuhandleucloseu
add_parentu__lt__(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockHandlerBsuMockHandlercCs�g}d}xp|D]h}Gdd�dt�}||�}|j|7_|j|�|d}|j|�|j|�qW|S(u�Create MockHandlers and add them to an OpenerDirector.

    meth_spec: list of lists of tuples and strings defining methods to define
    on handlers.  eg:

    [["http_error", "ftp_open"], ["http_open"]]

    defines methods .http_error() and .ftp_open() on one handler, and
    .http_open() on another.  These methods just record their arguments and
    return None.  Using a tuple instead of a string causes the method to
    perform some action (see MockHandler.handle()), eg:

    [["http_error"], [("http_open", "return request")]]

    defines .http_error() on one handler (which simply returns None), and
    .http_open() on another handler, which returns a Request object.

    icBs|EeZdZdS(u6add_ordered_mock_handlers.<locals>.MockHandlerSubclassN(u__name__u
__module__u__qualname__(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockHandlerSubclass�suMockHandlerSubclassi(uMockHandleru
handler_orderu
add_parentuappenduadd_handler(uopeneru	meth_specuhandlersucountumethsuMockHandlerSubclassuh((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuadd_ordered_mock_handlersns



uadd_ordered_mock_handlerscGs+t�}x|D]}|j|�qW|S(N(uOpenerDirectoruadd_handler(uhandler_instancesuopeneruh((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyubuild_test_opener�s	
ubuild_test_openercBs8|EeZdZdd�Zdd�Zdd�ZdS(uMockHTTPHandlercCs ||_||_|j�dS(N(ucodeuheadersureset(uselfucodeuheaders((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__�s		uMockHTTPHandler.__init__cCsd|_g|_dS(Ni(u_counturequests(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyureset�s	uMockHTTPHandler.resetcCs�ddl}ddl}ddl}|jj|j|��|jdkr�|jd|_|jj|j	}|j
|j�}|jj
d|t�|j	||�S||_|j
d�}tdd|d|j��SdS(Niiuhttpu

i�uOKu(uemailuhttp.clientucopyurequestsuappendudeepcopyu_countuclientu	responsesucodeumessage_from_stringuheadersuparentuerroruMockFileurequMockResponseuget_full_url(uselfurequemailuhttpucopyunameumsg((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu	http_open�s$		uMockHTTPHandler.http_openN(u__name__u
__module__u__qualname__u__init__uresetu	http_open(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockHTTPHandler�suMockHTTPHandlercBs,|EeZdZdd�Zdd�ZdS(uMockHTTPSHandlercCs#tjjj|�t�|_dS(N(uurlliburequestuAbstractHTTPHandleru__init__u
MockHTTPClassuhttpconn(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__�suMockHTTPSHandler.__init__cCs|j|j|�S(N(udo_openuhttpconn(uselfureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
https_open�suMockHTTPSHandler.https_openN(u__name__u
__module__u__qualname__u__init__u
https_open(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockHTTPSHandler�suMockHTTPSHandlercBs,|EeZdZdd�Zdd�ZdS(uMockPasswordManagercCs(||_||_||_||_dS(N(urealmuurluuserupassword(uselfurealmuuriuuserupassword((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuadd_password�s			u MockPasswordManager.add_passwordcCs"||_||_|j|jfS(N(utarget_realmu
target_urluuserupassword(uselfurealmuauthuri((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyufind_user_password�s		u&MockPasswordManager.find_user_passwordN(u__name__u
__module__u__qualname__uadd_passwordufind_user_password(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockPasswordManager�suMockPasswordManagercBst|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS(uOpenerDirectorTestscCs6Gdd�dt�}|jtt�j|��dS(NcBs|EeZdZdS(u<OpenerDirectorTests.test_add_non_handler.<locals>.NonHandlerN(u__name__u
__module__u__qualname__(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
NonHandler�su
NonHandler(uobjectuassertRaisesu	TypeErroruOpenerDirectoruadd_handler(uselfu
NonHandler((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_add_non_handler�s	u(OpenerDirectorTests.test_add_non_handlercCs�ddlm}t�}ddgd
gg}t||�|jtjj��x(dD] }|j||j	|d
�qXWdS(Ni(uURLErrorudo_openureturn selfu
proxy_openuredirect_requestudouproxyuredirectu://example.com/(udo_openureturn self(u
proxy_openureturn self(uredirect_requestureturn self(udouproxyuredirect(
uurllib.erroruURLErroruOpenerDirectoruadd_ordered_mock_handlersuadd_handleruurlliburequestuUnknownHandleruassertRaisesuopen(uselfuURLErroruou	meth_specuscheme((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_badly_named_methods�s			

u,OpenerDirectorTests.test_badly_named_methodsc
Cs�t�}dddgdgdgd	gg}t||�}td�}|j|�}|j||d�|ddf|ddfg}x[t||j�D]G\}}|\}	}
}}|j|	|
f|�|j||f�q�WdS(
Nu	http_openuftp_openuhttp_error_302ureturn selfuhttp://example.com/ii(u	http_openureturn self(u	http_openureturn self(uOpenerDirectoruadd_ordered_mock_handlersuRequestuopenuassertEqualuzipucalls(
uselfuou	meth_specuhandlersurequrucallsuexpectedugotuhandlerunameuargsukwds((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_handled�s	 u OpenerDirectorTests.test_handledcCs�t�}g}xqd	gdfdgdfgD]Q\}}Gdd�dt�}||�}||_|j|�|j|�q.W|jd�|j|jdd|d�|j|jdd|d�dS(
Nu	http_openureturn selfi�icBs|EeZdZdS(uCOpenerDirectorTests.test_handler_order.<locals>.MockHandlerSubclassN(u__name__u
__module__u__qualname__(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockHandlerSubclasssuMockHandlerSubclassuhttp://example.com/i(u	http_openureturn self(uOpenerDirectoruMockHandleru
handler_orderuappenduadd_handleruopenuassertEqualucalls(uselfuouhandlersumethsu
handler_orderuMockHandlerSubclassuh((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_handler_order�s		

u&OpenerDirectorTests.test_handler_ordercCst�}dgdgg}t||�}td�}|jtjj|j|�|j|j	|dd|fifg�dS(Nu	http_openuraiseureturn selfuhttp://example.com/i(u	http_openuraise(u	http_openureturn self(
uOpenerDirectoruadd_ordered_mock_handlersuRequestuassertRaisesuurllibuerroruURLErroruopenuassertEqualucalls(uselfuou	meth_specuhandlersureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
test_raises	uOpenerDirectorTests.test_raisecCs+t�}dgddgdddgdgg}t||�}Gd	d
�d
�}td�}|j|�t|j�dks�t�|d
d|ff|dd||�ddiffg}xct||j�D]O\}}|\}	}
}|j|	|
f|dd��|j||d�q�WdS(Nu	http_openu	error 302uhttp_error_400uraiseuhttp_error_302ureturn responseuhttp_error_303u
http_errorcBs |EeZdZdd�ZdS(u4OpenerDirectorTests.test_http_error.<locals>.UnknowncSsdS(NT(uTrue(uselfuother((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__eq__'su;OpenerDirectorTests.test_http_error.<locals>.Unknown.__eq__N(u__name__u
__module__u__qualname__u__eq__(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuUnknown&suUnknownuhttp://example.com/iii.u(u	http_openu	error 302(uhttp_error_400uraise(uhttp_error_302ureturn response(	uOpenerDirectoruadd_ordered_mock_handlersuRequestuopenulenucallsuAssertionErroruzipuassertEqual(uselfuou	meth_specuhandlersuUnknownurequcallsuexpectedugotuhandlerumethod_nameuargs((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_http_errors$		

 u#OpenerDirectorTests.test_http_errorcCsqt�}d	d
gddgg}t||�}td�}|j|�|ddf|ddf|ddf|ddfg}x�t|j�D]�\}\}}}	}
|dkr�|j||f||�|jt|	�d�|j|	dt�q�|j||f||�|jt|	�d�|j|	dt�|	ddk	r�|j|	dt
�q�q�WdS(
Nuhttp_requestureturn requestu
http_responseureturn responseuhttp://example.com/iii(uhttp_requestureturn request(u
http_responseureturn response(uhttp_requestureturn request(u
http_responseureturn response(uOpenerDirectoruadd_ordered_mock_handlersuRequestuopenu	enumerateucallsuassertEqualulenuassertIsInstanceuNoneuMockResponse(uselfuou	meth_specuhandlersurequcallsuiuhandlerunameuargsukwds((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_processors5s(	
 (u#OpenerDirectorTests.test_processorsc2Cstd�}|jt��|jd�WdQX|jt��|j�WdQX|jt��|j�WdQX|jt��|j�WdQX|jt��|j�WdQX|jt��|j�WdQX|jt��|j	�WdQX|jt��|j
�WdQXdS(Nuhttp://www.example.comudata(uRequestuassertWarnsuDeprecationWarninguadd_datauget_datauhas_datauget_hostuget_selectoruis_unverifiableuget_origin_req_hostuget_type(uselfureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_method_deprecationsXs"u,OpenerDirectorTests.test_method_deprecationsN(u__name__u
__module__u__qualname__utest_add_non_handlerutest_badly_named_methodsutest_handledutest_handler_orderu
test_raiseutest_http_errorutest_processorsutest_method_deprecations(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuOpenerDirectorTests�s
#uOpenerDirectorTestscCs|y|jd�Wn!tk
r4tjd��YnXtjj|�}tjdkrx|j	d�rx|dd�}n|S(Nuutf-8upath is not encodable to utf8untu///i(
uencodeuUnicodeEncodeErroruunittestuSkipTestuurlliburequestupathname2urluosunameu
startswith(upathuurlpath((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyusanepathname2urlms
usanepathname2urlcBsj|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zejejd#kd$�d%d&��Zd'd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Z d8S(9uHandlerTestscsmGdd�d��G�fdd�dtjj�}ddl}d}||�}t�|_xdd|jd	d	d
ddgd
df	dd|jdd	d
ddgd
df	dd|jdd	d
ddgd
df	dd|jdd	d
ddgd
df	dddd	d	dddgd	df	dd|jd	d	dgddf	gD]\	}}}}}	}
}}}
t|�}d|_	|j
|�}|j|j|�|j|j
|	�|j|jtj|��|j|j|�|j|j|�|j|jj|�|j|jj|
�|j�}|j|jd�|
�|jt|d�t|��qGWdS(NcBs8|EeZdZdd�Zdd�Zdd�ZdS(u-HandlerTests.test_ftp.<locals>.MockFTPWrappercSs
||_dS(N(udata(uselfudata((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__|su6HandlerTests.test_ftp.<locals>.MockFTPWrapper.__init__cSs2|||_|_tj|j�t|j�fS(N(ufilenameufiletypeuiouStringIOudataulen(uselfufilenameufiletype((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuretrfile}su6HandlerTests.test_ftp.<locals>.MockFTPWrapper.retrfilecSsdS(N((uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuclose�su3HandlerTests.test_ftp.<locals>.MockFTPWrapper.closeN(u__name__u
__module__u__qualname__u__init__uretrfileuclose(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMockFTPWrapper{suMockFTPWrappercs8|EeZdZdd�Zej�fdd�ZdS(u-HandlerTests.test_ftp.<locals>.NullFTPHandlercSs
||_dS(N(udata(uselfudata((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__�su6HandlerTests.test_ftp.<locals>.NullFTPHandler.__init__csH|||_|_|||_|_||_�|j�|_|jS(N(uuserupasswduhostuportudirsudatau
ftpwrapper(uselfuuserupasswduhostuportudirsutimeout(uMockFTPWrapper(u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuconnect_ftp�s
	u9HandlerTests.test_ftp.<locals>.NullFTPHandler.connect_ftpN(u__name__u
__module__u__qualname__u__init__usocketu_GLOBAL_DEFAULT_TIMEOUTuconnect_ftp(u
__locals__(uMockFTPWrapper(u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuNullFTPHandler�suNullFTPHandleriurheum rhaponicumu ftp://localhost/foo/bar/baz.htmlu	localhostuuIufooubarubaz.htmlu	text/htmlu'ftp://parrot@localhost/foo/bar/baz.htmluparrotu*ftp://%25parrot@localhost/foo/bar/baz.htmlu%parrotu,ftp://%2542parrot@localhost/foo/bar/baz.htmlu	%42parrotuftp://localhost:80/foo/bar/iPuDuftp://localhost/baz.gif;type=auAubaz.gifuContent-typeuContent-length(uurlliburequestu
FTPHandleruftplibu
MockOpeneruparentuFTP_PORTuNoneuRequestutimeoutuftp_openuassertEqualuuserupasswduhostusocketu
gethostbynameuportudirsu
ftpwrapperufilenameufiletypeuinfougetuintulen(uselfuNullFTPHandleruftplibudatauhuurluhostuportuuserupasswdutype_udirsufilenameumimetypeurequruheaders((uMockFTPWrapperu6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_ftpzsL"
1	uHandlerTests.test_ftpc#Cs�ddl}ddl}tjj�}t�}|_tj}t	t
jj|��}d}d|d|d|j
d�|fg}y|j
|j��}	Wn|jk
r�d}	YnX|	r�|jd|	|f�nx"|D]}
t|d�}z�z|j|�Wd|j�X|jt|
��}z(|j�}
|j�}|j�}Wd|j�Xt
j|�}|jj|jd	d�}Wdt
j|�X|j|
|�|j|d
d�|j|dd
�|j|d|�|j||
�q�Wx�d|dd|j
d�t
j �|fdt
j �|fgD]k}
zTt|d�}z|j|�Wd|j�X|j!tj"j#|jt|
��Wdt
j|�XqGWtjj�}t�}|_x�dddddgD]�\}
}t|
�}y|j|�Wn+tj"j#t%fk
rA|j&|�Yn'X|j'|j(|�|j|j)d�|j|j)dk|�q�WdS( Nis
hello, world
ufile://localhost%su	file://%sufile://%s%su	localhostuuwbuusegmtuContent-typeu
text/plainuContent-lengthu13u
Last-modifiedufile://localhost:80%sufile:///file_does_not_exist.txtufile://%s:80%s/%su,file://somerandomhost.ontheinternet.com%s/%sufile://ftp.example.com//foo.txtu file://ftp.example.com///foo.txtufile://ftp.example.com/foo.txtu"file://somehost//foo/something.txtu#file://localhost//foo/something.txtuftpTF(ufile://ftp.example.com//foo.txtF(u file://ftp.example.com///foo.txtF(ufile://ftp.example.com/foo.txtF(u"file://somehost//foo/something.txtF(u#file://localhost//foo/something.txtF(*uemail.utilsusocketuurlliburequestuFileHandleru
MockOpeneruparentusupportuTESTFNusanepathname2urluosupathuabspathu
gethostbynameugethostnameugaierroruappenduopenuwriteucloseu	file_openuRequestureaduinfougeturlustatuutilsu
formatdateust_mtimeuTrueuremoveuassertEqualugetcwduassertRaisesuerroruURLErroruFalseuOSErroruassertFalseuassertIsurequtype(uselfuemailusocketuhuouTESTFNuurlpathutowriteuurlsu	localaddruurlufurudatauheadersurespurlustatsumodifieduftpureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu	test_file�s�	
uHandlerTests.test_filecCs�tjj�}t�}|_d}xGd&d'gD]9\}}t||idd6�}d|_|jdd�t	�}|j
||�}|j|j|j
|j|j|jd	kd
f|j
�}	|	j|	j|j|j�|�|j|jd�|j|jd�|j|j|�|j|jd
�|j|jd(d)d*g�|j|j|�q2Wd+|_|jtjj|j
||�tdd�}|jt|j |�d,g|_!x}d-D]u}td|�}t"d	d
id�}|j |�}
|dkr=|j#d|j$�|j#d|j$�n.|j|j$dd�|j|j$dd�|j|j$dd�|j|j$dd�|jdd�|jdd�|jdd�|jdd�|j |�}
|j|j$dd�|j|j$dd�|j|j$dd�|j|j$dd�q�Wdd�}x^iidd6fD]I}td|�|�}|s�|jt%|j |�qh|j |�}
qhWt&j'�}
|
j(d�xziidd6fD]e}td|
|�}|s|jt%|j |�q�|j |�}
|jt)|
j*d��d�q�W|
j+�t,j,d d!d"d#d$g�}x[iid%d6fD]F}td||�}|j |�}
|jt)|
j*d��d%�q�WdS(.Nuhttp://example.com/uGETuPOSTsblahubaruFoouSpamueggsi�uOKuexample.comiu/u
ConnectionucloseubadpostsuuContent-lengthuContent-typeu0u!application/x-www-form-urlencodeduHostufooubazcssdVdVdVdS(Nsonestwosthree((((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
iterable_bodyTsu-HandlerTests.test_http.<locals>.iterable_bodyiuContent-LengthsSomething
Something
Something
iuIiiiii(uGETN(uPOSTsblah(u
Connectionuclose(uFooubar(uSpamueggsT(uSpamueggs(sN(-uurlliburequestuAbstractHTTPHandleru
MockOpeneruparentuNoneuRequestutimeoutuadd_unredirected_headeru
MockHTTPClassudo_openureadureadlineuinfougeturlucodeumsgugetu__contains__uassertEqualuhostulevelumethoduselectorureq_headersudatauTrueuraise_on_endheadersuassertRaisesuerroruURLErroru	TypeErrorudo_request_u
addheadersuMockResponseuassertNotInuunredirected_hdrsu
ValueErroruiouBytesIOuwriteuintu
get_headerucloseuarray(uselfuhuouurlumethodudataurequhttpuruhdrsunewrequ
iterable_bodyuheadersufile_objuiterable_array((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu	test_https�		
	

#
uHandlerTests.test_httpcCs�tjj�}t�|_d}ddddg}xy|D]q}t||�}|j|�}|j|jdd�|j	dd�|j|�}|j|jdd�q:WdS(	Nsu#http://example.com/foo/bar/baz.htmlu$http://example.com//foo/bar/baz.htmlu$http://example.com/foo//bar/baz.htmlu$http://example.com/foo/bar//baz.htmluHostuexample.comusomeproxy:3128(uurlliburequestuAbstractHTTPHandleru
MockOpeneruparentuRequestudo_request_uassertEqualuunredirected_hdrsu	set_proxyuNone(uselfuhudatauds_urlsuds_urluds_requ	np_ds_requp_ds_req((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_http_doubleslash}s	
u"HandlerTests.test_http_doubleslashcCs�tjj�}t�|_d}t|�}|j|�}|j|jd�|j|j	d�d}t|�}|j|�}|j|jd�|j|j	d�dS(Nuhttp://www.python.org?getspamuwww.python.orgu	/?getspamuhttp://www.python.orgu(
uurlliburequestuAbstractHTTPHandleru
MockOpeneruparentuRequestudo_request_uassertEqualuhostuselector(uselfuhu	weird_urlurequnewrequurl_without_path((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_fixpath_in_weirdurls�su&HandlerTests.test_fixpath_in_weirdurlscCs�tjj�}t�}|_d}t|�}tddid|�}|j||�}|j||�|j	t
|d��tddid|�}|j||�}|j||�|j	t
|d��tdd	id|�}|j||�}|j||�|j	t
|d��td
did|�}|j|j||��|j|j
d�|j|j||d
dif�dS(
Nuhttp://example.com/i�uOKuuprotoi�uAcceptedi�uPartial contenti�uBad gatewayuhttp(uurlliburequestuHTTPErrorProcessoru
MockOpeneruparentuRequestuMockResponseu
http_responseuassertIsuassertFalseuhasattruassertIsNoneuassertEqualuprotouargs(uselfuhuouurlurequrunewr((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_errors�s(uHandlerTests.test_errorscCs�t�}tjj|�}t�|_td�}tddid�}|j|�}|j	|j
|�|j	|j
|�|j|jd�|j
|j�|j||�}|j	|j|�|j	|j|�|j	||�dS(Nuhttp://example.com/i�uOKuuexample.com(u
MockCookieJaruurlliburequestuHTTPCookieProcessoru
MockOpeneruparentuRequestuMockResponseuhttp_requestuassertIsuach_requassertEqualuorigin_req_hostuassertFalseuunverifiableu
http_responseuec_requec_r(uselfucjuhurequrunewrequnewr((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_cookies�s	uHandlerTests.test_cookiescCs,d}d}tjj�}t�}|_x�dD]�}x�dD]�}t|d|�}t||�}tj	|_
|jd	d
�|dk	r�|jdtt
|���n|jdd
�y*||t�|dti|d6��Wn5tjjk
r|j|d�|j|�YnX|j|jj�|�y|j|jj�d�Wn%tk
r}|j|jj�YnXdd�|jjD�}	|jd|	�|jd|	�|j|jjd	d
�|jd|jj�|jd|jj�q?Wq2Wt|�}tj	|_
|dd�}
t|dd�}d}tj	|_
y$x|
||d�|d}qVWn1tjjk
r�|j|tjjj�YnXt|dd�}d}tj	|_
y(x!|
||d|�|d}q�Wn1tjjk
r'|j|tjjj�YnXdS(Nuhttp://example.com/a.htmluhttp://example.com/b.htmli-i.i/i3u
blah
blah
u
http_error_%suNonsenseuviking=withholduContent-LengthuSpamuspamuBlahulocationuGETcSsg|]}|j��qS((ulower(u.0ux((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
<listcomp>�s	u.HandlerTests.test_redirect.<locals>.<listcomp>ucontent-lengthucontent-typec	Ss-|j|t�ddti|d6��dS(Ni.uBlahulocation(uhttp_error_302uMockFileuMockHeaders(uhurequurl((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuredirectsu,HandlerTests.test_redirect.<locals>.redirectuorigin_req_hostuexample.comiuhttp://example.com/iuhttp://example.com/%d(i-i.i/i3(Nu
blah
blah
( uurlliburequestuHTTPRedirectHandleru
MockOpeneruparentuNoneugetattruRequestusocketu_GLOBAL_DEFAULT_TIMEOUTutimeoutu
add_headerustrulenuadd_unredirected_headeruMockFileuMockHeadersuerroru	HTTPErroruassertEqualuassertIsNotNoneurequget_full_urlu
get_methoduAttributeErroruassertFalseudatauheadersuassertNotInuunredirected_hdrsumax_repeatsumax_redirections(uselfufrom_urluto_urluhuoucodeudataumethodurequheadersuredirectucount((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
test_redirect�sj


	uHandlerTests.test_redirectcCsd}dddg}dddg}d}tjj�}t�}|_t|�}tj|_xT|D]L}|d	|}	|j	tj
j|j|t
�d
dti|	d6��qhWx^|D]V}|d	|}
|j|t
�d
d
ti|
d6��|j|jj�|
�q�WdS(Nuhttp://example.com/a.htmluhttpuhttpsuftpufileuimapuldapuexample.com/b.htmlu://i.uSecurity LoopholeulocationuThat's fine(uurlliburequestuHTTPRedirectHandleru
MockOpeneruparentuRequestusocketu_GLOBAL_DEFAULT_TIMEOUTutimeoutuassertRaisesuerroru	HTTPErroruhttp_error_302uMockFileuMockHeadersuassertEqualurequget_full_url(uselfufrom_urlu
valid_schemesuinvalid_schemesuschemeless_urluhuourequschemeuinvalid_urlu	valid_url((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_invalid_redirect s$

u"HandlerTests.test_invalid_redirectc	Cs�d}d}tjj�}t�}|_t|�}tj|_tj	j
||�}|j|t�ddt
i|d6��|j|jj�|�dS(Nuhttp://example.com/a.htmlu/b.htmli.uThat's fineulocation(uurlliburequestuHTTPRedirectHandleru
MockOpeneruparentuRequestusocketu_GLOBAL_DEFAULT_TIMEOUTutimeoutuparseuurljoinuhttp_error_302uMockFileuMockHeadersuassertEqualurequget_full_url(uselfufrom_urlurelative_urluhuourequ	valid_url((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_relative_redirect6su#HandlerTests.test_relative_redirectc	Cs�ddlm}ddlm}|�}||dd�tdd�}tjj�}tjj�}tjj	|�}t
||||�}|jd�|j|j
jd��dS(	Ni(u	CookieJar(uinteract_netscapeuhttp://www.example.com/u	spam=eggsi.u%Location: http://www.cracker.com/

uCookie(uhttp.cookiejaru	CookieJarutest.test_http_cookiejaruinteract_netscapeuMockHTTPHandleruurlliburequestuHTTPDefaultErrorHandleruHTTPRedirectHandleruHTTPCookieProcessorubuild_test_openeruopenuassertFalseurequ
has_header(	uselfu	CookieJaruinteract_netscapeucjuhhuhdehuhrhucpuo((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_cookie_redirectCs	
u!HandlerTests.test_cookie_redirectcCsxd}tdd|�}tjj�}tjj�}t|||�}|jd�}|j|j�|j	��dS(Nu(http://www.example.com/index.html#OK

i.u
Location: uhttp://www.example.com(
uMockHTTPHandleruurlliburequestuHTTPDefaultErrorHandleruHTTPRedirectHandlerubuild_test_openeruopenuassertEqualugeturlustrip(uselfuredirected_urluhhuhdehuhrhuoufp((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_redirect_fragmentRsu#HandlerTests.test_redirect_fragmentcCs�t�}tjjtdd��}|j|�d
gg}t||�}td�}|j|j	d�|j
|�|j|j	d�|j|ddfgdd	�|jD��dS(Nuhttpuproxy.example.com:3128u	http_openureturn responseuhttp://acme.example.com/uacme.example.comicSs g|]}|dd��qS(ii((u.0utup((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
<listcomp>js	u+HandlerTests.test_proxy.<locals>.<listcomp>(u	http_openureturn response(uOpenerDirectoruurlliburequestuProxyHandlerudictuadd_handleruadd_ordered_mock_handlersuRequestuassertEqualuhostuopenucalls(uselfuouphu	meth_specuhandlersureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
test_proxy[s	

uHandlerTests.test_proxycCs�dtjd<t�}tjjtdd��}|j|�td�}|j	|j
d�|j|�|j	|j
d�td�}|j	|j
d�|j|�|j	|j
d�tjd=dS(	Nu
python.orguno_proxyuhttpuproxy.example.comuhttp://www.perl.org/uwww.perl.orguhttp://www.python.orguwww.python.org(uosuenvironuOpenerDirectoruurlliburequestuProxyHandlerudictuadd_handleruRequestuassertEqualuhostuopen(uselfuouphureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_proxy_no_proxyls
	


u HandlerTests.test_proxy_no_proxycCs�dtjd<t�}tjjtdd��}|j|�td�}|j	|j
d�|j|�|j	|j
d�tjd=dS(Nu*uno_proxyuhttpuproxy.example.comuhttp://www.python.orguwww.python.org(uosuenvironuOpenerDirectoruurlliburequestuProxyHandlerudictuadd_handleruRequestuassertEqualuhostuopen(uselfuouphureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_proxy_no_proxy_all{s
	

u$HandlerTests.test_proxy_no_proxy_allcCs�t�}tjjtdd��}|j|�d
gg}t||�}td�}|j|j	d�|j
|�|j|j	d�|j|ddfgdd	�|jD��dS(Nuhttpsuproxy.example.com:3128u
https_openureturn responseuhttps://www.example.com/uwww.example.comicSs g|]}|dd��qS(ii((u.0utup((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
<listcomp>�s	u1HandlerTests.test_proxy_https.<locals>.<listcomp>(u
https_openureturn response(uOpenerDirectoruurlliburequestuProxyHandlerudictuadd_handleruadd_ordered_mock_handlersuRequestuassertEqualuhostuopenucalls(uselfuouphu	meth_specuhandlersureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_proxy_https�s	

uHandlerTests.test_proxy_httpscCst�}tjjtdd��}|j|�t�}|j|�td�}|jdd�|jdd�|j	|j
d�|j|j�|j
|�|jd
|jj�|jd|jj�|j|j�|j	|j
d�|j	|jd	�d�dS(Nuhttpsuproxy.example.com:3128uhttps://www.example.com/uProxy-AuthorizationuFooBaru
User-AgentuGrailuwww.example.comuProxy-authorization(uProxy-AuthorizationuFooBar(u
User-AgentuGrail(uOpenerDirectoruurlliburequestuProxyHandlerudictuadd_handleruMockHTTPSHandleruRequestu
add_headeruassertEqualuhostuassertIsNoneu_tunnel_hostuopenuassertNotInuhttpconnureq_headersuassertInuassertIsNotNoneu
get_header(uselfuouphu
https_handlerureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu$test_proxy_https_proxy_authorization�s$	
	

	
	
u1HandlerTests.test_proxy_https_proxy_authorizationudarwinuonly relevant for OSXcCs�idd6dddddgd6}x+dD]#}|jt||�d|�q*Wx+dD]#}|jt||�d|�qXWidd6gd6}|jtd|��dS(Nuexclude_simpleufoo.baru	*.bar.comu	127.0.0.1u10.10u10.0/16u
exceptionsuwww.bar.comu	10.10.0.1u10.0.0.1u expected bypass of %s to be Trueuabc.foo.barubar.comu	127.0.0.2u	10.11.0.1unotinbypassu!expected bypass of %s to be FalseutestF(ufoo.baruwww.bar.comu	127.0.0.1u	10.10.0.1u10.0.0.1(uabc.foo.barubar.comu	127.0.0.2u	10.11.0.1unotinbypassT(uFalseu
assertTrueu_proxy_bypass_macosx_sysconfuassertFalseuTrue(uselfubypassuhost((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_osx_proxy_bypass�s


u"HandlerTests.test_osx_proxy_bypassu"c	Cs�t�}t�}tjj|�}d}tdd|||f�}|j|�|j|�|j||d|||dd�dS(NuACME Widget Storei�u(WWW-Authenticate: Basic realm=%s%s%s

u
Authorizationu!http://acme.example.com/protected(uOpenerDirectoruMockPasswordManageruurlliburequestuHTTPBasicAuthHandleruMockHTTPHandleruadd_handleru_test_basic_auth(uselfu
quote_charuopenerupassword_manageruauth_handlerurealmuhttp_handler((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_basic_auth�s		

	uHandlerTests.test_basic_authcCs|jdd�dS(Nu
quote_charu'(utest_basic_auth(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu(test_basic_auth_with_single_quoted_realm�su5HandlerTests.test_basic_auth_with_single_quoted_realmcCs�t�}t�}tjj|�}d}tdd|�}|j|�|j|�|jt��'|j	||d|||dd�WdQXdS(NuACME Widget Storei�u$WWW-Authenticate: Basic realm=%s

u
Authorizationu!http://acme.example.com/protected(
uOpenerDirectoruMockPasswordManageruurlliburequestuHTTPBasicAuthHandleruMockHTTPHandleruadd_handleruassertWarnsuUserWarningu_test_basic_auth(uselfuopenerupassword_manageruauth_handlerurealmuhttp_handler((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu#test_basic_auth_with_unquoted_realm�s		

	u0HandlerTests.test_basic_auth_with_unquoted_realmc	Cs�t�}tjjtdd��}|j|�t�}tjj|�}d}tdd|�}|j|�|j|�|j	||d|||dd�dS(Nuhttpuproxy.example.com:3128u
ACME Networksi�u(Proxy-Authenticate: Basic realm="%s"

uProxy-authorizationu&http://acme.example.com:3128/protected(
uOpenerDirectoruurlliburequestuProxyHandlerudictuadd_handleruMockPasswordManageruProxyBasicAuthHandleruMockHTTPHandleru_test_basic_auth(uselfuopeneruphupassword_manageruauth_handlerurealmuhttp_handler((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_proxy_basic_auth�s	
	

	u"HandlerTests.test_proxy_basic_authc
	Cs�Gdd�dt�}Gdd�dtjj�}Gdd�dtjj�}|�}t�}||�}||�}d}tdd	|�}	|j|�|j|�|j|	�|j||d
||	|dd�|j	|j
dd
gd�dS(NcBs,|EeZdZdd�Zdd�ZdS(uQHandlerTests.test_basic_and_digest_auth_handlers.<locals>.RecordingOpenerDirectorcSstj|�g|_dS(N(uOpenerDirectoru__init__urecorded(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu__init__s
uZHandlerTests.test_basic_and_digest_auth_handlers.<locals>.RecordingOpenerDirector.__init__cSs|jj|�dS(N(urecordeduappend(uselfuinfo((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyurecordsuXHandlerTests.test_basic_and_digest_auth_handlers.<locals>.RecordingOpenerDirector.recordN(u__name__u
__module__u__qualname__u__init__urecord(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuRecordingOpenerDirectorsuRecordingOpenerDirectorcBs |EeZdZdd�ZdS(uOHandlerTests.test_basic_and_digest_auth_handlers.<locals>.TestDigestAuthHandlerc_s-|jjd�tjjj|||�dS(Nudigest(uparenturecorduurlliburequestuHTTPDigestAuthHandleruhttp_error_401(uselfuargsukwds((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuhttp_error_401	su^HandlerTests.test_basic_and_digest_auth_handlers.<locals>.TestDigestAuthHandler.http_error_401N(u__name__u
__module__u__qualname__uhttp_error_401(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuTestDigestAuthHandlersuTestDigestAuthHandlercBs |EeZdZdd�ZdS(uNHandlerTests.test_basic_and_digest_auth_handlers.<locals>.TestBasicAuthHandlerc_s-|jjd�tjjj|||�dS(Nubasic(uparenturecorduurlliburequestuHTTPBasicAuthHandleruhttp_error_401(uselfuargsukwds((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuhttp_error_401su]HandlerTests.test_basic_and_digest_auth_handlers.<locals>.TestBasicAuthHandler.http_error_401N(u__name__u
__module__u__qualname__uhttp_error_401(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuTestBasicAuthHandler
suTestBasicAuthHandleru
ACME Networksi�u&WWW-Authenticate: Basic realm="%s"

u
Authorizationu!http://acme.example.com/protectedudigestubasici(uOpenerDirectoruurlliburequestuHTTPDigestAuthHandleruHTTPBasicAuthHandleruMockPasswordManageruMockHTTPHandleruadd_handleru_test_basic_authuassertEqualurecorded(
uselfuRecordingOpenerDirectoruTestDigestAuthHandleruTestBasicAuthHandleruopenerupassword_managerudigest_handleru
basic_handlerurealmuhttp_handler((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu#test_basic_and_digest_auth_handlers�s$			


	u0HandlerTests.test_basic_and_digest_auth_handlerscCs^t�}tjjd�}tdd�}|j|�|j|�|jt|j	d�dS(Ni�uWWW-Authenticate: Kerberos

uhttp://www.example.com(
uOpenerDirectoruurlliburequestuHTTPDigestAuthHandleruNoneuMockHTTPHandleruadd_handleruassertRaisesu
ValueErroruopen(uselfuopenerudigest_auth_handleruhttp_handler((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu$test_unsupported_auth_digest_handler(s	

u1HandlerTests.test_unsupported_auth_digest_handlercCs^t�}tjjd�}tdd�}|j|�|j|�|jt|j	d�dS(Ni�uWWW-Authenticate: NTLM

uhttp://www.example.com(
uOpenerDirectoruurlliburequestuHTTPBasicAuthHandleruNoneuMockHTTPHandleruadd_handleruassertRaisesu
ValueErroruopen(uselfuopenerubasic_auth_handleruhttp_handler((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu#test_unsupported_auth_basic_handler2s	

u0HandlerTests.test_unsupported_auth_basic_handlerc	Cs�ddl}	d	\}
}|j|||
|�|j||j�|j||j�|j|
|j�|j||j�|j|�|j|j|�|j|j	|�|jt
|j�d�|j|jdj
|��td|
|fd�}d|	j|�j�j�}
|j|jdj|�|
�|j|jdj||
�d|_|_|j�|j|�|jt
|j�d�|j|jdj
|��dS(
Niuwileucoyoteiu%s:%suasciiuBasic i(uwileucoyote(ubase64uadd_passworduassertEqualurealmuurluuserupassworduopenutarget_realmu
target_urlulenurequestsuassertFalseu
has_headerubytesuencodebytesustripudecodeu
get_headeruunredirected_hdrsuNoneureset(uselfuopeneruauth_handleruauth_headerurealmuhttp_handlerupassword_managerurequest_urlu
protected_urlubase64uuserupassworduuserpassuauth_hdr_value((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu_test_basic_auth<s0


uHandlerTests._test_basic_authN(!u__name__u
__module__u__qualname__utest_ftpu	test_fileu	test_httputest_http_doubleslashutest_fixpath_in_weirdurlsutest_errorsutest_cookiesu
test_redirectutest_invalid_redirectutest_relative_redirectutest_cookie_redirectutest_redirect_fragmentu
test_proxyutest_proxy_no_proxyutest_proxy_no_proxy_allutest_proxy_httpsu$test_proxy_https_proxy_authorizationuunittestu
skipUnlessusysuplatformutest_osx_proxy_bypassutest_basic_authu(test_basic_auth_with_single_quoted_realmu#test_basic_auth_with_unquoted_realmutest_proxy_basic_authu#test_basic_and_digest_auth_handlersu$test_unsupported_auth_digest_handleru#test_unsupported_auth_basic_handleru_test_basic_auth(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuHandlerTestsxs4:]lJ
	'/

uHandlerTestscBs8|EeZdZdd�Zdd�Zdd�ZdS(u	MiscTestscs-|jt�fdd�|jD���dS(Nc3s|]}|j�kVqdS(N(u	__class__(u.0uh(u
handler_class(u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu	<genexpr>esu/MiscTests.opener_has_handler.<locals>.<genexpr>(u
assertTrueuanyuhandlers(uselfuopeneru
handler_class((u
handler_classu6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuopener_has_handlerdsuMiscTests.opener_has_handlercCs�Gdd�dtjj�}Gdd�dtjj�}Gdd�dtjj�}tjj}|||�}|j||�|j||�|||��}|j||�|j||�||�}|j||�|�}|j|tjj�|tjj�}|j|tjj�|tjj��}|j|tjj�Gdd�dtjj�}|||�}|j||�|j||�dS(	NcBs|EeZdZdS(u2MiscTests.test_build_opener.<locals>.MyHTTPHandlerN(u__name__u
__module__u__qualname__(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
MyHTTPHandlerisu
MyHTTPHandlercBs |EeZdZdd�ZdS(u/MiscTests.test_build_opener.<locals>.FooHandlercSsdS(N((uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyufoo_openksu8MiscTests.test_build_opener.<locals>.FooHandler.foo_openN(u__name__u
__module__u__qualname__ufoo_open(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
FooHandlerjsu
FooHandlercBs |EeZdZdd�ZdS(u/MiscTests.test_build_opener.<locals>.BarHandlercSsdS(N((uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyubar_openmsu8MiscTests.test_build_opener.<locals>.BarHandler.bar_openN(u__name__u
__module__u__qualname__ubar_open(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
BarHandlerlsu
BarHandlercBs|EeZdZdS(u7MiscTests.test_build_opener.<locals>.MyOtherHTTPHandlerN(u__name__u
__module__u__qualname__(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuMyOtherHTTPHandler�suMyOtherHTTPHandler(uurlliburequestuHTTPHandleruBaseHandlerubuild_openeruopener_has_handler(uselfu
MyHTTPHandleru
FooHandleru
BarHandlerubuild_openeruouMyOtherHTTPHandler((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_build_openerhs,	uMiscTests.test_build_openercCs�d}d}}}d}tjj|||||�}|jt|d��|j|jd�|jt|d��|j|jd�d|j	|j
f}|jt|�|�dS(u�
        Issue 13211 reveals that HTTPError didn't implement the URLError
        interface even though HTTPError is a subclass of URLError.
        usomething bad happeneduContent-Length: 42ureasonuhdrsuHTTP Error %s: %sN(uNoneuurllibuerroru	HTTPErroru
assertTrueuhasattruassertEqualureasonuhdrsucodeumsgustr(uselfumsguurlucodeufpuhdrsuerruexpected_errmsg((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_HTTPError_interface�su"MiscTests.test_HTTPError_interfaceN(u__name__u
__module__u__qualname__uopener_has_handlerutest_build_openerutest_HTTPError_interface(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu	MiscTestsbs%u	MiscTestscBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS(uRequestTestscCs2td�|_tdddidd6�|_dS(Nuhttp://www.python.org/~jeremy/udatauheadersutestuX-Test(uRequestugetupost(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyusetUp�suRequestTests.setUpcCs6|jd|jj��|jd|jj��dS(NuPOSTuGET(uassertEqualupostu
get_methoduget(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_method�suRequestTests.test_methodcCsh|j|jj�|jd|jj��d|j_|j|jj�|jd|jj��dS(NuGETuspamuPOST(uassertFalseugetudatauassertEqualu
get_methodu
assertTrue(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu	test_data�s
uRequestTests.test_datacCs|jd|jj��dS(Nuhttp://www.python.org/~jeremy/(uassertEqualugetuget_full_url(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_get_full_url�s	uRequestTests.test_get_full_urlcCs9|jd|jj�td�}|jd|j�dS(Nu	/~jeremy/uhttp://www.python.org/u/(uassertEqualugetuselectoruRequest(uselfureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
test_selector�suRequestTests.test_selectorcCs|jd|jj�dS(Nuhttp(uassertEqualugetutype(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
test_get_type�suRequestTests.test_get_typecCs|jd|jj�dS(Nuwww.python.org(uassertEqualugetuhost(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
test_get_host�suRequestTests.test_get_hostcCs#td�}|jd|j�dS(Nuhttp://www.%70ython.org/uwww.python.org(uRequestuassertEqualuhost(uselfureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_get_host_unquote�su"RequestTests.test_get_host_unquotecCso|j|jj��|jjdd�|j|jj��|jd|jj�|jd|jj�dS(Nuwww.perl.orguhttpuwww.python.org(uassertFalseugetu	has_proxyu	set_proxyu
assertTrueuassertEqualuorigin_req_hostuhost(uself((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu
test_proxy�s
uRequestTests.test_proxycCs#td�}|jd|j�dS(Nu<URL:http://www.python.org>uwww.python.org(uRequestuassertEqualuhost(uselfureq((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_wrapped_url�suRequestTests.test_wrapped_urlcCsjtd�}|jd|j�td�}|jd|j�d}t|�}|j|j�|�dS(Nu-http://www.python.org/?qs=query#fragment=trueu
/?qs=queryuhttp://www.python.org/#fun=trueu/u.http://docs.python.org/library/urllib2.html#OK(uRequestuassertEqualuselectoruget_full_url(uselfurequurl((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_url_fragment�suRequestTests.test_url_fragmentcCs�tjjdddddddddd�}|jt|d��t|d�sXt�t|d	�smt�t|j�s�t�y|j�Wnt	k
r�|j
d
�YnX|j|j�d�dS(u[
        Issue 15701 - HTTPError interface has info method available from URLError
        umsgusomething bad happeneduurlucodeuhdrsuContent-Length:42ufpureasonuinfouerr.info call failed.N(uurlliburequestu	HTTPErroruNoneu
assertTrueuhasattruAssertionErrorucallableuinfouAttributeErrorufailuassertEqual(uselfuerr((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyutest_HTTPError_interface_call�s
u*RequestTests.test_HTTPError_interface_callN(u__name__u
__module__u__qualname__usetUputest_methodu	test_datautest_get_full_urlu
test_selectoru
test_get_typeu
test_get_hostutest_get_host_unquoteu
test_proxyutest_wrapped_urlutest_url_fragmentutest_HTTPError_interface_call(u
__locals__((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyuRequestTests�suRequestTestscCs\ddlm}tj||�tjtj|�tttt	t
tf}tj|�dS(Ni(utest_urllib2(
utestutest_urllib2usupporturun_doctestuurlliburequestuTrivialTestsuOpenerDirectorTestsuHandlerTestsu	MiscTestsuRequestTestsuRequestHdrsTestsurun_unittest(uverboseutest_urllib2utests((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu	test_main�s	u	test_mainu__main__uverbose(.uunittestutestusupportuosuiousocketuarrayusysuurllib.requestuurllibuRequestuOpenerDirectoru_proxy_bypass_macosx_sysconfuurllib.erroruTestCaseuTrivialTestsuRequestHdrsTestsu
MockOpeneruMockFileudictuMockHeadersuStringIOuMockResponseu
MockCookieJaru
FakeMethoduIOBaseuMockHTTPResponseu
MockHTTPClassuMockHandleruadd_ordered_mock_handlersubuild_test_openerurequestuBaseHandleruMockHTTPHandleruAbstractHTTPHandleruMockHTTPSHandleruMockPasswordManageruOpenerDirectorTestsusanepathname2urluHandlerTestsu	MiscTestsuRequestTestsuNoneu	test_mainu__name__uTrue(((u6/opt/alt/python33/lib64/python3.3/test/test_urllib2.pyu<module>sF2�	*,����<L