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_localnet.cpython-33.pyc

�
��fWc@s�ddlZddlZddlZddlZddlZddlZddlZddl	m
Z
e
jd�Zej
je�Zej
jed�Zej
jed�ZGdd�dejj�ZGdd	�d	ej�ZGd
d�d�ZGdd
�d
ejj�ZGdd�dej�Zdd�ZGdd�dej�Ze
j dd��Z!e"dkr|e!�ndS(iN(usupportu	threadingukeycert.pemukeycert2.pemcBs2|EeZdZdZdd�Zdd�ZdS(uLoopbackHttpServeru^HTTP server w/ a few modifications that make it useful for
    loopback testing purposes.
    cCs-tjjj|||�|jjd�dS(Ng�������?(uhttpuserveru
HTTPServeru__init__usocketu
settimeout(uselfuserver_addressuRequestHandlerClass((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu__init__suLoopbackHttpServer.__init__cCs,|jj�\}}|jd�||fS(uHTTPServer method, overridden.g$@(usocketuacceptu
settimeout(uselfurequestuclient_address((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuget_request"s
uLoopbackHttpServer.get_requestN(u__name__u
__module__u__qualname__u__doc__u__init__uget_request(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuLoopbackHttpServers	uLoopbackHttpServercBs>|EeZdZdZdd�Zdd�Zdd�ZdS(	uLoopbackHttpServerThreadu2Stoppable thread that runs a loopback http server.cCsVtjj|�d|_tj�|_d|_td|�|_	|j	j
|_dS(NuHTTP/1.0u	127.0.0.1iF(u	127.0.0.1i(u	threadinguThreadu__init__uFalseu_stop_serveruEventureadyuprotocol_versionuLoopbackHttpServeruhttpduserver_portuport(uselfurequest_handler((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu__init__1s		u!LoopbackHttpServerThread.__init__cCs$d|_|j�|jj�dS(u.Stops the webserver if it's currently running.NT(uTrueu_stop_serverujoinuhttpduserver_close(uself((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyustop<s	
uLoopbackHttpServerThread.stopcCs.|jj�x|js)|jj�qWdS(N(ureadyusetu_stop_serveruhttpduhandle_request(uself((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyurunEs
uLoopbackHttpServerThread.runN(u__name__u
__module__u__qualname__u__doc__u__init__ustopurun(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuLoopbackHttpServerThread.s	uLoopbackHttpServerThreadcBs�|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS(uDigestAuthHandleru-Handler for performing digest authentication.cCs1d|_g|_i|_d|_d|_dS(Niu
Test Realmuauth(u_request_numu_noncesu_usersu_realm_nameu_qop(uself((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu__init__Os
				uDigestAuthHandler.__init__cCs
||_dS(N(u_qop(uselfuqop((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuset_qopVsuDigestAuthHandler.set_qopcCs"t|t�st�||_dS(N(u
isinstanceudictuAssertionErroru_users(uselfuusers((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu	set_usersYsuDigestAuthHandler.set_userscCs
||_dS(N(u_realm_name(uselfurealm((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu	set_realm]suDigestAuthHandler.set_realmcCsJ|jd7_tjt|j�jd��j�}|jj|�|S(Niuascii(u_request_numuhashlibumd5ustruencodeu	hexdigestu_noncesuappend(uselfunonce((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu_generate_nonce`s'u!DigestAuthHandler._generate_noncecCs�|jd�}||dd�}|jd�}i}xx|D]p}|jd�\}}|j�}|ddkr�|ddkr�|dd�}n|j�}|||<q?W|S(	Nu iu,u=iu"i����i����(ufindusplitustrip(uselfuauth_strufirst_space_indexupartsu	auth_dictupartunameuvalue((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu_create_auth_dictfs
 u#DigestAuthHandler._create_auth_dictcCs�i}|j|�||d<||d<||d<d|}tj|jd��j�}d|}tj|jd��j�}	||d<|	|d<d	|}
tj|
jd��j�}||d
kS(Nupasswordumethoduuriu#%(username)s:%(realm)s:%(password)suasciiu%(method)s:%(uri)suHA1uHA2u3%(HA1)s:%(nonce)s:%(nc)s:%(cnonce)s:%(qop)s:%(HA2)suresponse(uupdateuhashlibumd5uencodeu	hexdigest(uselfu	auth_dictupasswordumethoduuriu
final_dictuHA1_struHA1uHA2_struHA2uresponse_struresponse((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu_validate_authws







u DigestAuthHandler._validate_authcCsg|jdd�|jdd�|jdd|j|j|j�f�|j�|jjd�dS(	Ni�uProxy Authentication RequireduContent-Typeu	text/htmluProxy-Authenticateu(Digest realm="%s", qop="%s",nonce="%s", sProxy Authentication Required.F(	u
send_responseusend_headeru_realm_nameu_qopu_generate_nonceuend_headersuwfileuwriteuFalse(uselfurequest_handler((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu_return_auth_challenge�s
u(DigestAuthHandler._return_auth_challengecCst|j�dkrdSd|jkr5|j|�S|j|jd�}|d|jkrr|j|d}n
|j|�S|jd�|jkr�|j|�S|jj|d�d}x>|j
|jgD]*}|j|||j
|�r�d}q�q�W|s|j|�SdSdS(uPerforms digest authentication on the given HTTP request
        handler.  Returns True if authentication was successful, False
        otherwise.

        If no users have been set, then digest auth is effectively
        disabled and this method will always return True.
        iuProxy-AuthorizationuusernameunonceNTF(ulenu_usersuTrueuheadersu_return_auth_challengeu_create_auth_dictugetu_noncesuremoveuFalseupathu
short_pathu_validate_authucommand(uselfurequest_handleru	auth_dictupassworduauth_validatedupath((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuhandle_request�s,	


		

u DigestAuthHandler.handle_requestN(
u__name__u
__module__u__qualname__u__doc__u__init__uset_qopu	set_usersu	set_realmu_generate_nonceu_create_auth_dictu_validate_authu_return_auth_challengeuhandle_request(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuDigestAuthHandlerLsuDigestAuthHandlercBs>|EeZdZdZdd�Zdd�Zdd�ZdS(	uFakeProxyHandleru�This is a 'fake proxy' that makes it look like the entire
    internet has gone down due to a sudden zombie invasion.  It main
    utility is in providing us with authentication support for
    testing.
    cOs&||_tjjj|||�dS(N(udigest_auth_handleruhttpuserveruBaseHTTPRequestHandleru__init__(uselfudigest_auth_handleruargsukwargs((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu__init__�s	uFakeProxyHandler.__init__cGsdS(N((uselfuformatuargs((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyulog_message�suFakeProxyHandler.log_messagecCs�tjj|jd�\}}}}}}||_|jj|�r�|jdd�|jdd�|j	�|j
jtd|jd��|j
jd�ndS(	Nuhttpi�uOKuContent-Typeu	text/htmluYou've reached %s!<BR>uasciisFOur apologies, but our server is down due to a sudden zombie invasion.(
uurllibuparseuurlparseupathu
short_pathudigest_auth_handleruhandle_requestu
send_responseusend_headeruend_headersuwfileuwriteubytes(uselfuscmunetlocupathuparamsuqueryufragment((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyudo_GET�s	!	

uFakeProxyHandler.do_GETN(u__name__u
__module__u__qualname__u__doc__u__init__ulog_messageudo_GET(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuFakeProxyHandler�suFakeProxyHandlercs�|EeZdZdZdZdZdZ�fdd�Z�fdd�Zd	d
�Z	dd�Z
d
d�Zdd�Z�S(uProxyAuthTestsuhttp://localhostutesterutest123u	TestRealmcs�tt��j�t��_�jji�j�j6��jj�j	��fdd�}t
|��_�jj��jj
j�d�jj}tjji|d6�}tjj��_tjj|�j��_dS(Ncst�j||�S(N(uFakeProxyHandlerudigest_auth_handler(uargsukwargs(uself(u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyucreate_fake_proxy_handler�su7ProxyAuthTests.setUp.<locals>.create_fake_proxy_handleruhttp://127.0.0.1:%duhttp(usuperuProxyAuthTestsusetUpuDigestAuthHandlerudigest_auth_handleru	set_usersuPASSWDuUSERu	set_realmuREALMuLoopbackHttpServerThreaduserverustartureadyuwaituportuurlliburequestuProxyHandleruProxyDigestAuthHandleruproxy_digest_handlerubuild_openeruopener(uselfucreate_fake_proxy_handleru	proxy_urluhandler(u	__class__(uselfu?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyusetUp�s
	uProxyAuthTests.setUpcs$|jj�tt|�j�dS(N(userverustopusuperuProxyAuthTestsutearDown(uself(u	__class__(u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutearDown�s
uProxyAuthTests.tearDowncCs_|jj|j|j|j|jd�|jjd�|jt	j
j|jj
|j�dS(Nubaduauth(uproxy_digest_handleruadd_passworduREALMuURLuUSERuPASSWDudigest_auth_handleruset_qopuassertRaisesuurllibuerroru	HTTPErroruopeneruopen(uself((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu-test_proxy_with_bad_password_raises_httperrors	u<ProxyAuthTests.test_proxy_with_bad_password_raises_httperrorcCs6|jjd�|jtjj|jj|j�dS(Nuauth(	udigest_auth_handleruset_qopuassertRaisesuurllibuerroru	HTTPErroruopeneruopenuURL(uself((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu,test_proxy_with_no_password_raises_httperrors	u;ProxyAuthTests.test_proxy_with_no_password_raises_httperrorcCsk|jj|j|j|j|j�|jjd�|jj	|j�}x|j
�r\qMW|j�dS(Nuauth(uproxy_digest_handleruadd_passworduREALMuURLuUSERuPASSWDudigest_auth_handleruset_qopuopeneruopenureaduclose(uselfuresult((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_proxy_qop_auth_workssu(ProxyAuthTests.test_proxy_qop_auth_workscCs�|jj|j|j|j|j�|jjd�y|jj	|j�}Wnt
jjk
rnd}YnX|r�x|j�r�qxW|j�ndS(Nuauth-int(uproxy_digest_handleruadd_passworduREALMuURLuUSERuPASSWDudigest_auth_handleruset_qopuopeneruopenuurllibuerroruURLErroruNoneureaduclose(uselfuresult((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu0test_proxy_qop_auth_int_works_or_throws_urlerrorsu?ProxyAuthTests.test_proxy_qop_auth_int_works_or_throws_urlerror(
u__name__u
__module__u__qualname__uURLuUSERuPASSWDuREALMusetUputearDownu-test_proxy_with_bad_password_raises_httperroru,test_proxy_with_no_password_raises_httperrorutest_proxy_qop_auth_worksu0test_proxy_qop_auth_int_works_or_throws_urlerror(u
__locals__((u	__class__u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuProxyAuthTests�s	uProxyAuthTestscs)G��fdd�dtjj���S(Ncse|EeZdZdZgZgZdZdd�Zdd�Z��fdd�Z	d	d
�Z
dS(u1GetRequestHandler.<locals>.FakeHTTPRequestHandleru	TestHTTP/iPcSs?|j�}x,|r:|jj|�}||d�}qWdS(N(u	send_headuwfileuwrite(uselfubodyudone((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyudo_GET4s	u8GetRequestHandler.<locals>.FakeHTTPRequestHandler.do_GETcSsC|jd}|jjt|��}|j�|jj|�dS(NuContent-Length(uheadersurfileureaduintudo_GETurequestsuappend(uselfucontent_lengthu	post_data((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyudo_POST:s

u9GetRequestHandler.<locals>.FakeHTTPRequestHandler.do_POSTcs�|j�_|jj|j��jd�\}}}|j|�x2|D]*\}}|j||i|jd6�qKW|r�|jdd�|j	�|S|j	�dS(NiuportuContent-typeu
text/plain(
uheadersuheaders_receivedurequestsuappendupathupopu
send_responseusend_headeruportuend_headers(uselfu
response_codeuheadersubodyuheaderuvalue(uFakeHTTPRequestHandleru	responses(u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu	send_head@s
"
u;GetRequestHandler.<locals>.FakeHTTPRequestHandler.send_headcWsdS(N((uselfuargs((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyulog_messageOsu=GetRequestHandler.<locals>.FakeHTTPRequestHandler.log_messageN(u__name__u
__module__u__qualname__userver_versionurequestsuheaders_receiveduportudo_GETudo_POSTu	send_headulog_message(u
__locals__(uFakeHTTPRequestHandleru	responses(u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuFakeHTTPRequestHandler-suFakeHTTPRequestHandler(uhttpuserveruBaseHTTPRequestHandler(u	responses((uFakeHTTPRequestHandleru	responsesu?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuGetRequestHandler+s%&uGetRequestHandlercs"|EeZdZdZ�fdd�Z�fdd�Zd*dd�Zd*dd	�Zd*e	d
d�Z
dd
�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Z�S(+uTestUrlopenuNTests urllib.request.urlopen using the network.

    These tests are not exhaustive.  Assuming that testing using files does a
    good job overall of some of the basic interface features.  There are no
    tests exercising the optional 'data' and 'proxies' arguments.  No tests
    for transparent redirection have been written.
    cs?tt|�j�tjj�|_dtjd<d|_dS(Nu*uNO_PROXY(	usuperuTestUrlopenusetUpuosuenvironucopyuold_environuNoneuserver(uself(u	__class__(u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyusetUp_s
uTestUrlopen.setUpcsV|jdk	r|jj�ntjj�tjj|j�tt	|�j
�dS(N(userveruNoneustopuosuenvironuclearuupdateuold_environusuperuTestUrlopenutearDown(uself(u	__class__(u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutearDownfs

uTestUrlopen.tearDownc
Ks�g}tjj|||�}zV|j|jd��|j|j��|j|jd��|j|j��Wd|j�Xdj	|�S(Ni�is(
uurlliburequestuurlopenuextendu	readlinesuappendureadlineureaducloseujoin(uselfuurludataukwargsuluf((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuurlopenmsuTestUrlopen.urlopencCsr|dkr!dgdfg}nt|�}t|�|_|jj�|jjj�|jj}||_|S(Ni�s
we don't care(uNoneuGetRequestHandleruLoopbackHttpServerThreaduserverustartureadyuwaituport(uselfu	responsesuhandleruport((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyustart_serverzs
	uTestUrlopen.start_servercCs�ttjd�s"|jd�nddlm}|dkrSdgdfg}nt|�}||d|d|�}|j|_|S(	NuHTTPSHandlerussl support requiredi(umake_https_serveri�s
we care a bitucertfileu
handler_class(	uhasattruurlliburequestuskipTestutest.ssl_serversumake_https_serveruNoneuGetRequestHandleruport(uselfu	responsesucertfileumake_https_serveruhandleruserver((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyustart_https_server�suTestUrlopen.start_https_servercCsyd}dd
gdfdg|fg}|j|�}|jd|j�}|j||�|j|jdd	g�dS(NsWe got here...i.uLocationu(http://localhost:%(port)s/somewhere_elseui�uhttp://localhost:%s/u/u/somewhere_else(uLocationu(http://localhost:%(port)s/somewhere_else(ustart_serveruurlopenuportuassertEqualurequests(uselfuexpected_responseu	responsesuhandlerudata((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_redirection�s	uTestUrlopen.test_redirectioncCsZd}d}ddg|fg}|j|�}|jd|j�}|j||�dS(Nshello worldsa
hello worl
1
d
0
i�uTransfer-Encodinguchunkeduhttp://localhost:%s/(uTransfer-Encodinguchunked(ustart_serveruurlopenuportuassertEqual(uselfuexpected_responseu
chunked_starturesponseuhandlerudata((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_chunked�suTestUrlopen.test_chunkedcCs�d}|jdg|fg�}y|jd|j�WnAtjjk
r|}z|j�}|j�WYdd}~XnX|jd�|j	||�|j	|j
dg�dS(NsBad bad bad...i�uhttp://localhost:%s/weebleu404 should raise URLErroru/weeble(ustart_serveruurlopenuportuurllibuerroruURLErrorureaducloseufailuassertEqualurequests(uselfuexpected_responseuhandlerufudata((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_404�s
uTestUrlopen.test_404cCsad}|jdg|fg�}|jd|j�}|j||�|j|jdg�dS(Ns
pycon 2008...i�uhttp://localhost:%s/bizarreu/bizarre(ustart_serveruurlopenuportuassertEqualurequests(uselfuexpected_responseuhandlerudata((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_200�s
uTestUrlopen.test_200cCsgd}|jdg|fg�}|jd|jd�}|j||�|j|jddg�dS(Ns
pycon 2008...i�uhttp://localhost:%s/bizarresget=with_feelingu/bizarre(ustart_serveruurlopenuportuassertEqualurequests(uselfuexpected_responseuhandlerudata((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_200_with_parameters�s	u$TestUrlopen.test_200_with_parameterscCs6|j�}|jd|j�}|j|d�dS(Nuhttps://localhost:%s/bizarres
we care a bit(ustart_https_serveruurlopenuportuassertEqual(uselfuhandlerudata((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu
test_https�suTestUrlopen.test_httpscCs�|jdt�}ddl}|jd|jdt�}|j|d�|jtjj	��!}|jd|jdt
�WdQX|jdt
�}|j|j��!}|jd|jdt
�WdQXdS(Nucertfileiuhttps://localhost:%s/bizarreucafiles
we care a bit(ustart_https_serveruCERT_localhostussluurlopenuportuassertEqualuassertRaisesuurllibuerroruURLErroruCERT_fakehostnameuCertificateError(uselfuhandlerussludataucm((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_https_with_cafile�s	
u"TestUrlopen.test_https_with_cafilecCsN|jdt�}|jtjj��!}|jd|jdd�WdQXdS(Nucertfileuhttps://localhost:%s/bizarreu	cadefaultT(	ustart_https_serveruCERT_localhostuassertRaisesuurllibuerroruURLErroruurlopenuportuTrue(uselfuhandlerucm((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_https_with_cadefault�su%TestUrlopen.test_https_with_cadefaultcCs]|j�}tjjd|jdidd6�}tjj|�|j|jdd�dS(Nuhttp://localhost:%s/uheadersubytes=20-39uRange(ustart_serveruurlliburequestuRequestuportuurlopenuassertEqualuheaders_received(uselfuhandlerureq((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_sending_headers�s
u TestUrlopen.test_sending_headersc
Cs|j�}tjjd|j�}x+dD]#}|jt||�d|�q,Wz|j|j�d�Wd|j�XdS(	Nuhttp://localhost:%sureaducloseuinfougeturlu3object returned from urlopen lacks the %s attributeucalling 'read' failed(ureaducloseuinfougeturl(	ustart_serveruurlliburequestuurlopenuportu
assertTrueuhasattrureaduclose(uselfuhandleruopen_urluattr((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu
test_basic�s
uTestUrlopen.test_basicc
Csy|j�}zXtjjd|j�}|j�}|j|tjj	d�|j
|j�d�Wd|jj
�XdS(Nuhttp://localhost:%suEobject returned by 'info' is not an instance of email.message.Messageuplain(ustart_serveruurlliburequestuurlopenuportuinfouassertIsInstanceuemailumessageuMessageuassertEqualuget_content_subtypeuserverustop(uselfuhandleruopen_urluinfo_obj((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu	test_info�s	uTestUrlopen.test_infocCsL|j�}tjjd|j�}|j�}|j|d|j�dS(Nuhttp://localhost:%s(ustart_serveruurlliburequestuurlopenuportugeturluassertEqual(uselfuhandleruopen_urluurl((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_geturlsuTestUrlopen.test_geturlcCs*tjd�|jttjjd�dS(Nunetworkuhttp://sadflkjsasf.i.nvali.d./(usupporturequiresuassertRaisesuIOErroruurlliburequestuurlopen(uself((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_bad_address
s
		uTestUrlopen.test_bad_addresscCs_d}|jdg|fg�}tjjd|j�}x|D]}|j||�qAWdS(Ns
pycon 2008...i�uhttp://localhost:%s(ustart_serveruurlliburequestuurlopenuportuassertEqual(uselfuexpected_responseuhandlerudatauline((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_iteration*s

uTestUrlopen.test_iterationc	Cs�ddddddg}dj|�}|jdg|fg�}tjjd	|j�}xNt|�D]@\}}|j|||d
|t||�t|�f�qjW|j|dt|��dS(NsWe
sgot
shere
s	verylong i s
si�uhttp://localhost:%suQFetched line number %s doesn't match expected:
    Expected length was %s, got %si(	ujoinustart_serveruurlliburequestuurlopenuportu	enumerateuassertEqualulen(uselfulinesuexpected_responseuhandlerudatauindexuline((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyutest_line_iteration1s%uTestUrlopen.test_line_iterationN(u__name__u
__module__u__qualname__u__doc__usetUputearDownuNoneuurlopenustart_serveruCERT_localhostustart_https_serverutest_redirectionutest_chunkedutest_404utest_200utest_200_with_parametersu
test_httpsutest_https_with_cafileutest_https_with_cadefaultutest_sending_headersu
test_basicu	test_infoutest_geturlutest_bad_addressutest_iterationutest_line_iteration(u
__locals__((u	__class__u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyuTestUrlopenVs*


uTestUrlopencCstjtt�dS(N(usupporturun_unittestuProxyAuthTestsuTestUrlopen(((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu	test_main>su	test_mainu__main__(#uosuemailuurllib.parseuurllibuurllib.requestuhttp.serveruhttpuunittestuhashlibutestusupportu
import_moduleu	threadingupathudirnameu__file__uhereujoinuCERT_localhostuCERT_fakehostnameuserveru
HTTPServeruLoopbackHttpServeruThreaduLoopbackHttpServerThreaduDigestAuthHandleruBaseHTTPRequestHandleruFakeProxyHandleruTestCaseuProxyAuthTestsuGetRequestHandleruTestUrlopenureap_threadsu	test_mainu__name__(((u?/opt/alt/python33/lib64/python3.3/test/test_urllib2_localnet.pyu<module>s*z!D+�