[Python-checkins] python/dist/src/Lib/test test_httplib.py,1.1.2.1,1.1.2.2

jhylton@users.sourceforge.net jhylton@users.sourceforge.net
Fri, 12 Jul 2002 08:22:11 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv7434/test

Modified Files:
      Tag: release21-maint
	test_httplib.py 
Log Message:
Backport changes.

Change _begin() back to begin().
Fix for SF bug 579107.
Fix for SF bug #432621: httplib: multiple Set-Cookie headers
Fix SF bug #575360
Handle HTTP/0.9 responses.


Index: test_httplib.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_httplib.py,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** test_httplib.py	2 Jul 2002 20:42:50 -0000	1.1.2.1
--- test_httplib.py	12 Jul 2002 15:22:09 -0000	1.1.2.2
***************
*** 1,3 ****
! from test.test_support import verify,verbose
  import httplib
  import StringIO
--- 1,3 ----
! from test_support import verify,verbose
  import httplib
  import StringIO
***************
*** 9,13 ****
      def makefile(self, mode, bufsize=None):
          if mode != 'r' and mode != 'rb':
!             raise UnimplementedFileMode()
          return StringIO.StringIO(self.text)
  
--- 9,13 ----
      def makefile(self, mode, bufsize=None):
          if mode != 'r' and mode != 'rb':
!             raise httplib.UnimplementedFileMode()
          return StringIO.StringIO(self.text)
  
***************
*** 16,21 ****
  body = "HTTP/1.1 200 Ok\r\n\r\nText"
  sock = FakeSocket(body)
! resp = httplib.HTTPResponse(sock,1)
! resp._begin()
  print resp.read()
  resp.close()
--- 16,21 ----
  body = "HTTP/1.1 200 Ok\r\n\r\nText"
  sock = FakeSocket(body)
! resp = httplib.HTTPResponse(sock, 1)
! resp.begin()
  print resp.read()
  resp.close()
***************
*** 23,31 ****
  body = "HTTP/1.1 400.100 Not Ok\r\n\r\nText"
  sock = FakeSocket(body)
! resp = httplib.HTTPResponse(sock,1)
  try:
!     resp._begin()
  except httplib.BadStatusLine:
      print "BadStatusLine raised as expected"
  else:
      print "Expect BadStatusLine"
--- 23,59 ----
  body = "HTTP/1.1 400.100 Not Ok\r\n\r\nText"
  sock = FakeSocket(body)
! resp = httplib.HTTPResponse(sock, 1)
  try:
!     resp.begin()
  except httplib.BadStatusLine:
      print "BadStatusLine raised as expected"
  else:
      print "Expect BadStatusLine"
+ 
+ # Check invalid host_port
+ 
+ for hp in ("www.python.org:abc", "www.python.org:"):
+     try:
+         h = httplib.HTTP(hp)
+     except httplib.InvalidURL:
+         print "InvalidURL raised as expected"
+     else:
+         print "Expect InvalidURL"
+ 
+ # test response with multiple message headers with the same field name.
+ text = ('HTTP/1.1 200 OK\r\n'
+         'Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"\r\n'
+         'Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1";'
+         ' Path="/acme"\r\n'
+         '\r\n'
+         'No body\r\n')
+ hdr = ('Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"'
+        ', '
+        'Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"')
+ s = FakeSocket(text)
+ r = httplib.HTTPResponse(s, 1)
+ r.begin()
+ cookies = r.getheader("Set-Cookie")
+ if cookies != hdr:
+     raise AssertionError, "multiple headers not combined properly"
+