[Python-checkins] python/dist/src/Lib/test test_httplib.py,1.9,1.10
jhylton@users.sourceforge.net
jhylton@users.sourceforge.net
Thu, 23 Jan 2003 10:02:24 -0800
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv15096/Lib/test
Modified Files:
test_httplib.py
Log Message:
Fix for SF bug 661340: test_httplib fails on the mac.
The test no longer produces output with \r\n in it.
Index: test_httplib.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_httplib.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** test_httplib.py 30 Jul 2002 23:26:01 -0000 1.9
--- test_httplib.py 23 Jan 2003 18:02:18 -0000 1.10
***************
*** 12,58 ****
return StringIO.StringIO(self.text)
! # Test HTTP status lines
! 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()
! 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"
--- 12,81 ----
return StringIO.StringIO(self.text)
! # Collect output to a buffer so that we don't have to cope with line-ending
! # issues across platforms. Specifically, the headers will have \r\n pairs
! # and some platforms will strip them from the output file.
! import sys
! def test():
! buf = StringIO.StringIO()
! _stdout = sys.stdout
! try:
! sys.stdout = buf
! _test()
! finally:
! sys.stdout = _stdout
! # print individual lines with endings stripped
! s = buf.getvalue()
! for line in s.split("\n"):
! print line.strip()
! def _test():
! # Test HTTP status lines
!
! 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()
!
! 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"
!
! test()