test_httplib.py

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Python 代码 · 共 59 行

PY
59
字号
from test_support import verify,verboseimport httplibimport StringIOclass FakeSocket:    def __init__(self, text):        self.text = text    def makefile(self, mode, bufsize=None):        if mode != 'r' and mode != 'rb':            raise httplib.UnimplementedFileMode()        return StringIO.StringIO(self.text)# Test HTTP status linesbody = "HTTP/1.1 200 Ok\n\nText"sock = FakeSocket(body)resp = httplib.HTTPResponse(sock, 1)resp.begin()print resp.read()resp.close()body = "HTTP/1.1 400.100 Not Ok\n\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_portfor 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\n'        'Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"\n'        'Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1";'        ' Path="/acme"\n'        '\n'        'No body\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"

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?