Tests: more Perl tests.
This commit is contained in:
@@ -4,6 +4,8 @@ my $app = sub {
|
|||||||
my $len = int($environ->{'CONTENT_LENGTH'});
|
my $len = int($environ->{'CONTENT_LENGTH'});
|
||||||
$environ->{'psgi.input'}->read(my $body, $len);
|
$environ->{'psgi.input'}->read(my $body, $len);
|
||||||
|
|
||||||
|
my $version = join('', @{$environ->{'psgi.version'}});
|
||||||
|
|
||||||
return ['200', [
|
return ['200', [
|
||||||
'Content-Type' => $environ->{'CONTENT_TYPE'},
|
'Content-Type' => $environ->{'CONTENT_TYPE'},
|
||||||
'Content-Length' => $len,
|
'Content-Length' => $len,
|
||||||
@@ -11,6 +13,13 @@ my $app = sub {
|
|||||||
'Request-Uri' => $environ->{'REQUEST_URI'},
|
'Request-Uri' => $environ->{'REQUEST_URI'},
|
||||||
'Http-Host' => $environ->{'HTTP_HOST'},
|
'Http-Host' => $environ->{'HTTP_HOST'},
|
||||||
'Server-Protocol' => $environ->{'SERVER_PROTOCOL'},
|
'Server-Protocol' => $environ->{'SERVER_PROTOCOL'},
|
||||||
'Custom-Header' => $environ->{'HTTP_CUSTOM_HEADER'}
|
'Custom-Header' => $environ->{'HTTP_CUSTOM_HEADER'},
|
||||||
|
'Psgi-Version' => $version,
|
||||||
|
'Psgi-Url-Scheme' => $environ->{'psgi.url_scheme'},
|
||||||
|
'Psgi-Multithread' => $environ->{'psgi.multithread'},
|
||||||
|
'Psgi-Multiprocess' => $environ->{'psgi.multiprocess'},
|
||||||
|
'Psgi-Run-Once' => $environ->{'psgi.run_once'},
|
||||||
|
'Psgi-Nonblocking' => $environ->{'psgi.nonblocking'},
|
||||||
|
'Psgi-Streaming' => $environ->{'psgi.streaming'}
|
||||||
], [$body]];
|
], [$body]];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -33,7 +33,14 @@ class TestUnitPerlApplication(unit.TestUnitApplicationPerl):
|
|||||||
'Request-Uri': '/',
|
'Request-Uri': '/',
|
||||||
'Http-Host': 'localhost',
|
'Http-Host': 'localhost',
|
||||||
'Server-Protocol': 'HTTP/1.1',
|
'Server-Protocol': 'HTTP/1.1',
|
||||||
'Custom-Header': 'blah'
|
'Custom-Header': 'blah',
|
||||||
|
'Psgi-Version': '11',
|
||||||
|
'Psgi-Url-Scheme': 'http',
|
||||||
|
'Psgi-Multithread': '',
|
||||||
|
'Psgi-Multiprocess': '1',
|
||||||
|
'Psgi-Run-Once': '',
|
||||||
|
'Psgi-Nonblocking': '',
|
||||||
|
'Psgi-Streaming': ''
|
||||||
}, 'headers')
|
}, 'headers')
|
||||||
self.assertEqual(resp['body'], body, 'body')
|
self.assertEqual(resp['body'], body, 'body')
|
||||||
|
|
||||||
@@ -126,5 +133,24 @@ class TestUnitPerlApplication(unit.TestUnitApplicationPerl):
|
|||||||
|
|
||||||
self.assertEqual(self.get()['body'], 'body\n', 'body io file')
|
self.assertEqual(self.get()['body'], 'body\n', 'body io file')
|
||||||
|
|
||||||
|
def test_perl_keepalive_body(self):
|
||||||
|
self.load('variables')
|
||||||
|
|
||||||
|
(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__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user