forked from s3lph/matemat
Full coverage in util.
This commit is contained in:
parent
594f904980
commit
39dacfcb39
1 changed files with 26 additions and 0 deletions
|
@ -204,6 +204,32 @@ class TestParseRequest(unittest.TestCase):
|
|||
self.assertEqual(b'1337', args['bar'].get_bytes())
|
||||
self.assertEqual('Hello, World!', args['baz'].get_str())
|
||||
|
||||
def test_parse_post_multipart_names(self):
|
||||
"""
|
||||
Test that multipart names work both with and without quotation marks
|
||||
"""
|
||||
path, args = parse_args('/',
|
||||
postbody=b'--testBoundary1337\r\n'
|
||||
b'Content-Disposition: form-data; name="foo"\r\n'
|
||||
b'Content-Type: text/plain\r\n\r\n'
|
||||
b'42\r\n'
|
||||
b'--testBoundary1337\r\n'
|
||||
b'Content-Disposition: form-data; name=bar\r\n'
|
||||
b'Content-Type: text/plain\r\n\r\n'
|
||||
b'Hello, World!\r\n'
|
||||
b'--testBoundary1337--\r\n',
|
||||
enctype='multipart/form-data; boundary=testBoundary1337')
|
||||
self.assertEqual('/', path)
|
||||
self.assertEqual(2, len(args))
|
||||
self.assertIn('foo', args)
|
||||
self.assertIn('bar', args)
|
||||
self.assertTrue(args['foo'].is_scalar)
|
||||
self.assertTrue(args['bar'].is_scalar)
|
||||
self.assertEqual('text/plain', args['foo'].get_content_type())
|
||||
self.assertEqual('text/plain', args['bar'].get_content_type())
|
||||
self.assertEqual('42', args['foo'].get_str())
|
||||
self.assertEqual('Hello, World!', args['bar'].get_str())
|
||||
|
||||
def test_parse_post_multipart_zero_arg(self):
|
||||
"""
|
||||
Test that a multipart POST request with an empty argument is parsed correctly.
|
||||
|
|
Loading…
Reference in a new issue