Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
admin
/
installer
/
css
/
sass
/
sym404
/
root
/
usr
/
share
/
doc
/
python3-pycurl
/
tests
:
header_cb_test.py
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et from . import localhost import pycurl import unittest import time as _time from . import appmanager from . import util setup_module, teardown_module = appmanager.setup(('app', 8380)) class HeaderCbTest(unittest.TestCase): def setUp(self): self.curl = util.DefaultCurl() self.header_lines = [] def tearDown(self): self.curl.close() def header_function(self, line): self.header_lines.append(line.decode()) def test_get(self): self.curl.setopt(pycurl.URL, 'http://%s:8380/success' % localhost) sio = util.BytesIO() self.curl.setopt(pycurl.WRITEFUNCTION, sio.write) self.curl.setopt(pycurl.HEADERFUNCTION, self.header_function) self.curl.perform() self.assertEqual('success', sio.getvalue().decode()) assert len(self.header_lines) > 0 self.assertEqual("HTTP/1.0 200 OK\r\n", self.header_lines[0]) # day of week # important: must be in utc todays_day = _time.strftime('%a', _time.gmtime()) # Date: Sun, 03 Mar 2013 05:38:12 GMT\r\n self.check('Date: %s' % todays_day) # Server: WSGIServer/0.1 Python/2.7.3\r\n self.check('Server: WSGIServer') self.check('Content-Length: 7') self.check('Content-Type: text/html') def check(self, wanted_text): for line in self.header_lines: if wanted_text in line: return assert False, "%s not found in header lines" % wanted_text