Tests: added keep-alive test.
This commit is contained in:
64
test/test_python_keepalive.py
Normal file
64
test/test_python_keepalive.py
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
import unittest
|
||||||
|
import unit
|
||||||
|
|
||||||
|
class TestUnitApplication(unit.TestUnitControl):
|
||||||
|
|
||||||
|
def setUpClass():
|
||||||
|
u = unit.TestUnit()
|
||||||
|
|
||||||
|
u.check_modules('python')
|
||||||
|
u.check_version('0.4')
|
||||||
|
|
||||||
|
@unittest.expectedFailure
|
||||||
|
def test_python_keepalive_body(self):
|
||||||
|
code, name = """
|
||||||
|
|
||||||
|
def application(environ, start_response):
|
||||||
|
|
||||||
|
content_length = int(environ.get('CONTENT_LENGTH', 0))
|
||||||
|
body = bytes(environ['wsgi.input'].read(content_length))
|
||||||
|
|
||||||
|
start_response('200', [
|
||||||
|
('Content-Type', environ.get('CONTENT_TYPE')),
|
||||||
|
('Content-Length', str(len(body)))
|
||||||
|
])
|
||||||
|
return [body]
|
||||||
|
|
||||||
|
""", 'py_app'
|
||||||
|
|
||||||
|
self.python_application(name, code)
|
||||||
|
|
||||||
|
self.conf({
|
||||||
|
"listeners": {
|
||||||
|
"*:7080": {
|
||||||
|
"application": "app"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"applications": {
|
||||||
|
"app": {
|
||||||
|
"type": "python",
|
||||||
|
"workers": 1,
|
||||||
|
"path": self.testdir + '/' + name,
|
||||||
|
"module": "wsgi"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
(resp, sock) = self.post(headers={
|
||||||
|
'Connection': 'keep-alive',
|
||||||
|
'Content-Type': 'text/html',
|
||||||
|
'Host': 'localhost'
|
||||||
|
}, start=True, body='0123456789' * 500)
|
||||||
|
|
||||||
|
self.assertEqual(resp['body'], '0123456789' * 500, 'keep-alive 1')
|
||||||
|
|
||||||
|
resp = self.post(headers={
|
||||||
|
'Connection': 'close',
|
||||||
|
'Content-Type': 'text/html',
|
||||||
|
'Host': 'localhost'
|
||||||
|
}, sock=sock, body='0123456789')
|
||||||
|
|
||||||
|
self.assertEqual(resp['body'], '0123456789', 'keep-alive 2')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
||||||
Reference in New Issue
Block a user