;
Ìâ"Ic            	   @   sý   d  d l  j Z d  d l Z d  d l Z d  d l m Z d  d l m Z e j	 Z	 Gd „  d ƒ Z
 Gd „  d e j ƒ Z Gd „  d	 e ƒ Z Gd
 „  d e ƒ Z Gd „  d e ƒ Z Gd „  d e ƒ Z Gd „  d e ƒ Z d d „ Z e d k o e ƒ  n d S(   i    N(   u   TestCase(   u   supportc             B   s2   |  Ee  Z e j d  „ Z d „  Z d d „ Z d S(   c             C   sB   t  | t ƒ o | j d ƒ } n | |  _ | |  _ d |  _ d  S(   Nu   asciis    (   u
   isinstanceu   stru   encodeu   textu	   fileclassu   data(   u   selfu   textu	   fileclass(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   __init__   s
    		c             C   s   |  j  | 7_  d  S(   N(   u   data(   u   selfu   data(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   sendall   s    c             C   s:   | d k o | d k o t  j ƒ  ‚ n |  j |  j ƒ S(   Nu   ru   rb(   u   httplibu   UnimplementedFileModeu	   fileclassu   text(   u   selfu   modeu   bufsize(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   makefile   s    N(   u   __name__u
   __module__u   iou   BytesIOu   __init__u   sendallu   Noneu   makefile(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu
   FakeSocket   s   
	u
   FakeSocketc             B   s,   |  Ee  Z d  Z d d „ Z d d „ Z d S(   u¨   Like StringIO, but raises AssertionError on EOF.

    This is used below to test that httplib doesn't try to read
    more from the underlying file than it should.
    iÿÿÿÿc             C   s6   t  j j |  | ƒ } | d k o t d ƒ ‚ n | S(   Ns    u   caller tried to read past EOF(   u   iou   BytesIOu   readu   AssertionError(   u   selfu   nu   data(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   read!   s    c             C   s6   t  j j |  | ƒ } | d k o t d ƒ ‚ n | S(   Ns    u   caller tried to read past EOF(   u   iou   BytesIOu   readlineu   AssertionError(   u   selfu   lengthu   data(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   readline'   s    N(   u   __name__u
   __module__u   __doc__u   readu   Noneu   readline(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   NoEOFStringIO   s   
u   NoEOFStringIOc             B   s   |  Ee  Z d  „  Z d S(   c             C   sÆ   Gd „  d t  ƒ } x¬ d D]¤ } x› d D]“ } t j d ƒ } t d ƒ | _ | ƒ  | _ d } i  } | o t t	 | ƒ ƒ | | <n | j
 d	 d
 | | ƒ |  j | j j | j ƒ  d ƒ q' Wq Wd  S(   Nc             B   s    |  Ee  Z d  „  Z d „  Z d S(   c             S   s   i  |  _  d  S(   N(   u   count(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   __init__4   s    c             S   sy   | j  d ƒ } t | ƒ d k oC | d j d ƒ j ƒ  } |  j j | d ƒ |  j | c d 7<n t j |  | ƒ d  S(   Ns   :i   i    u   ascii(   u   splitu   lenu   decodeu   loweru   countu
   setdefaultu   listu   append(   u   selfu   itemu   kvu   lcKey(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   append6   s    N(   u   __name__u
   __module__u   __init__u   append(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   HeaderCountingBuffer3   s   
	u   HeaderCountingBufferu   Content-lengthu   Hostu   Accept-encodingu   example.comu   blahblahblahu   spamspamspamu   POSTu   /i   TF(   TF(   u   Content-lengthu   Hostu   Accept-encoding(   u   listu   Trueu   Falseu   httplibu   HTTPConnectionu
   FakeSocketu   socku   _bufferu   stru   lenu   requestu   assertEqualu   countu   lower(   u   selfu   HeaderCountingBufferu   explicit_headeru   headeru   connu   bodyu   headers(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_auto_headers/   s      N(   u   __name__u
   __module__u   test_auto_headers(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   HeaderTests.   s   
u   HeaderTestsc             B   sV   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d S(	   c             C   s   d } t  | ƒ } t j | ƒ } | j ƒ  |  j | j ƒ  d ƒ |  j | j ƒ  ƒ d } t  | ƒ } t j | ƒ } |  j t j	 | j ƒ d  S(   Nu   HTTP/1.1 200 Ok

Texts   Textu   HTTP/1.1 400.100 Not Ok

Text(
   u
   FakeSocketu   httplibu   HTTPResponseu   beginu   assertEqualu   readu
   assertTrueu   isclosedu   assertRaisesu   BadStatusLine(   u   selfu   bodyu   socku   resp(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_status_linesM   s    
c             C   s‡   d } t  | ƒ } t j | ƒ } | j ƒ  |  j | j d ƒ d ƒ |  j | j ƒ  ƒ |  j | j d ƒ d ƒ |  j | j ƒ  ƒ d  S(   Nu*   HTTP/1.1 200 Ok
Content-Length: 4

Texti   s   Tes   xt(	   u
   FakeSocketu   httplibu   HTTPResponseu   beginu   assertEqualu   readu   assertFalseu   isclosedu
   assertTrue(   u   selfu   bodyu   socku   resp(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_partial_reads\   s    
c             C   s‰   x' d
 D] } |  j  t j t j | ƒ q WxX d d d d f D]D \ } } } t j | ƒ } |  j | | j ƒ |  j | | j ƒ q= Wd  S(   Nu   www.python.org:abcu   www.python.org:u   [fe80::207:e9ff:fe9b]:8000u   fe80::207:e9ff:fe9bi@  u   www.python.org:80u   www.python.orgiP   u   [fe80::207:e9ff:fe9b](   u   www.python.org:abcu   www.python.org:(   u   [fe80::207:e9ff:fe9b]:8000u   fe80::207:e9ff:fe9bi@  (   u   www.python.org:80u   www.python.orgiP   (   u   www.python.orgu   www.python.orgiP   (   u   [fe80::207:e9ff:fe9b]u   fe80::207:e9ff:fe9biP   (   u   assertRaisesu   httplibu
   InvalidURLu   HTTPConnectionu   assertEqualu   hostu   port(   u   selfu   hpu   hu   pu   c(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_host_porth   s      c             C   sT   d } d } t  | ƒ } t j | ƒ } | j ƒ  | j d ƒ } |  j | | ƒ d  S(   Nu¨   HTTP/1.1 200 OK
Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"
Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"

No body
ur   Customer="WILE_E_COYOTE"; Version="1"; Path="/acme", Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"u
   Set-Cookie(   u
   FakeSocketu   httplibu   HTTPResponseu   beginu	   getheaderu   assertEqual(   u   selfu   textu   hdru   su   ru   cookies(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_response_headersw   s    
c             C   sP   t  d t ƒ } t j | d d ƒ} | j ƒ  | j ƒ  o |  j d ƒ n d  S(   Nu*   HTTP/1.1 200 OK
Content-Length: 14432

u   methodu   HEADu)   Did not expect response from HEAD request(   u
   FakeSocketu   NoEOFStringIOu   httplibu   HTTPResponseu   beginu   readu   fail(   u   selfu   socku   resp(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_read_head‰   s    	
c             C   s‰   d } t  t d ƒ } t j d ƒ } t | ƒ } | | _ | j d d | ƒ |  j | j j	 | ƒ d | j d  t
 | ƒ … | f ƒ d  S(   NsP   GET /foo HTTP/1.1
Host: example.com
Accept-Encoding: identity
Content-Length:u   rbu   example.comu   GETu   /foou   %r != %r(   u   openu   __file__u   httplibu   HTTPConnectionu
   FakeSocketu   socku   requestu
   assertTrueu   datau
   startswithu   len(   u   selfu   expectedu   bodyu   connu   sock(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_send_file–   s    	c             C   s  d } t  | d ƒ } t j | d d ƒ} | j ƒ  |  j | j ƒ  d ƒ | j ƒ  xª d	 D]¢ } t  | | ƒ } t j | d d ƒ} | j ƒ  z_ y | j ƒ  Wn= t j k
 o. } z |  j | j d ƒ WYd  d  } ~ Xn X|  j	 d ƒ Wd  | j ƒ  Xq\ Wd  S(
   NuD   HTTP/1.1 200 OK
Transfer-Encoding: chunked

a
hello worl
1
d
u   0
u   methodu   GETs   hello worldu    u   foo
u   IncompleteRead expected(   u    u   foo
(
   u
   FakeSocketu   httplibu   HTTPResponseu   beginu   assertEqualsu   readu   closeu   IncompleteReadu   partialu   fail(   u   selfu   chunked_startu   socku   respu   xu   i(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_chunked¢   s$    

 
 'c             C   sO   t  d ƒ } t j | d d ƒ} | j ƒ  |  j | j ƒ  d ƒ | j ƒ  d  S(   Nu.   HTTP/1.1 200 OK
Content-Length: -1

Hello
u   methodu   GETs   Hello
(   u
   FakeSocketu   httplibu   HTTPResponseu   beginu   assertEqualsu   readu   close(   u   selfu   socku   resp(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_negative_content_length¾   s
    
N(
   u   __name__u
   __module__u   test_status_linesu   test_partial_readsu   test_host_portu   test_response_headersu   test_read_headu   test_send_fileu   test_chunkedu   test_negative_content_length(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu	   BasicTestL   s   
							u	   BasicTestc             B   s   |  Ee  Z d  „  Z d S(   c             C   s   |  j  t j t j d ƒ d  S(   Nu	   Not Found(   u   assertEqualsu   httplibu	   responsesu	   NOT_FOUND(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_responsesÇ   s    N(   u   __name__u
   __module__u   test_responses(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   OfflineTestÆ   s   
u   OfflineTestc             B   s/   |  Ee  Z d Z d  „  Z d „  Z d „  Z d S(   c             C   sD   t  j  t  j t  j ƒ |  _ t j |  j ƒ t _ |  j j d ƒ d  S(   Ni   (	   u   socketu   AF_INETu   SOCK_STREAMu   servu   supportu	   bind_portu   TimeoutTestu   PORTu   listen(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   setUpÍ   s    c             C   s   |  j  j ƒ  d  |  _  d  S(   N(   u   servu   closeu   None(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   tearDownÒ   s    c             C   sL  |  j  t j ƒ  d  k ƒ t j d ƒ z# t j t t j	 ƒ } | j
 ƒ  Wd  t j d  ƒ X|  j | j j ƒ  d ƒ | j ƒ  |  j  t j ƒ  d  k ƒ t j d ƒ z) t j t t j	 d d  ƒ} | j
 ƒ  Wd  t j d  ƒ X|  j | j j ƒ  d  ƒ | j ƒ  t j t t j	 d d ƒ} | j
 ƒ  |  j | j j ƒ  d ƒ | j ƒ  d  S(   Ni   u   timeout(   u   assert_u   socketu   getdefaulttimeoutu   Noneu   setdefaulttimeoutu   httplibu   HTTPConnectionu   HOSTu   TimeoutTestu   PORTu   connectu   assertEqualu   socku
   gettimeoutu   close(   u   selfu   httpConn(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   testTimeoutAttributeÖ   s*    
	

N(   u   __name__u
   __module__u   Noneu   PORTu   setUpu   tearDownu   testTimeoutAttribute(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   TimeoutTestÊ   s   
		u   TimeoutTestc             B   s   |  Ee  Z d  „  Z d S(   c             C   sF   t  t d ƒ o2 t j t t j d d ƒ} |  j | j d ƒ n d  S(   Nu   HTTPSConnectionu   timeouti   (   u   hasattru   httplibu   HTTPSConnectionu   HOSTu   TimeoutTestu   PORTu   assertEqualu   timeout(   u   selfu   h(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   test_attributesû   s    N(   u   __name__u
   __module__u   test_attributes(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   HTTPSTimeoutTestø   s   
u   HTTPSTimeoutTestc             C   s   t  j t t t t t ƒ d  S(   N(   u   supportu   run_unittestu   HeaderTestsu   OfflineTestu	   BasicTestu   TimeoutTestu   HTTPSTimeoutTest(   u   verbose(    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu	   test_main  s    u   __main__(   u   http.clientu   clientu   httplibu   iou   socketu   unittestu   TestCaseu   testu   supportu   HOSTu
   FakeSocketu   BytesIOu   NoEOFStringIOu   HeaderTestsu	   BasicTestu   OfflineTestu   TimeoutTestu   HTTPSTimeoutTestu   Noneu	   test_mainu   __name__(    (    (    u.   /mit/python/lib/python3.0/test/test_httplib.pyu   <module>   s   	z.	