Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
121d34af
Commit
121d34af
authored
Jul 08, 2003
by
Jeremy Hylton
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix SF bug 764095: Don't use network in test_httplib.
parent
a6b7d341
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
14 deletions
+35
-14
Lib/test/output/test_httplib
Lib/test/output/test_httplib
+2
-0
Lib/test/test_httplib.py
Lib/test/test_httplib.py
+33
-14
No files found.
Lib/test/output/test_httplib
View file @
121d34af
...
...
@@ -8,4 +8,6 @@ InvalidURL raised as expected
reply: 'HTTP/1.1 200 OK\r\n'
header: Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"
header: Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"
reply: 'HTTP/1.1 200 OK\r\n'
header: Content-Length: 14432
Lib/test/test_httplib.py
View file @
121d34af
from
test.test_support
import
verify
,
verbose
import
httplib
import
StringIO
import
sys
from
test.test_support
import
verify
,
verbose
class
FakeSocket
:
def
__init__
(
self
,
text
):
def
__init__
(
self
,
text
,
fileclass
=
StringIO
.
StringIO
):
self
.
text
=
text
self
.
fileclass
=
fileclass
def
makefile
(
self
,
mode
,
bufsize
=
None
):
if
mode
!=
'r'
and
mode
!=
'rb'
:
raise
httplib
.
UnimplementedFileMode
()
return
StringIO
.
StringIO
(
self
.
text
)
return
self
.
fileclass
(
self
.
text
)
class
NoEOFStringIO
(
StringIO
.
StringIO
):
"""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.
"""
def
read
(
self
,
n
=-
1
):
data
=
StringIO
.
StringIO
.
read
(
self
,
n
)
if
data
==
''
:
raise
AssertionError
(
'caller tried to read past EOF'
)
return
data
def
readline
(
self
,
length
=
None
):
data
=
StringIO
.
StringIO
.
readline
(
self
,
length
)
if
data
==
''
:
raise
AssertionError
(
'caller tried to read past EOF'
)
return
data
# 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
...
...
@@ -78,17 +97,17 @@ def _test():
if
cookies
!=
hdr
:
raise
AssertionError
,
"multiple headers not combined properly"
# test that the library doesn't attempt to read any data
# from a head request
conn
=
httplib
.
HTTPConnection
(
"www.python.org"
)
conn
.
connect
()
conn
.
request
(
"HEAD"
,
"/"
,
headers
=
{
"Connection"
:
"keep-alive"
})
resp
=
conn
.
getresponse
()
if
resp
.
status
!=
200
:
raise
AssertionError
,
"Expected status 200, got %d"
%
resp
.
status
# Test that the library doesn't attempt to read any data
# from a HEAD request. (Tickles SF bug #622042.)
sock
=
FakeSocket
(
'HTTP/1.1 200 OK
\
r
\
n
'
'Content-Length: 14432
\
r
\
n
'
'
\
r
\
n
'
,
NoEOFStringIO
)
resp
=
httplib
.
HTTPResponse
(
sock
,
1
,
method
=
"HEAD"
)
resp
.
begin
()
if
resp
.
read
()
!=
""
:
raise
AssertionError
,
"Did not expect response from HEAD request"
resp
.
close
()
conn
.
close
()
test
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment