Exemple #1
0
 def test_multipart(self):
     """ Environ: POST (multipart files and multible values per key) """
     fields = [('field1', 'value1'), ('field2', 'value2'),
               ('field2', 'value3')]
     files = [('file1', 'filename1.txt', 'content1'),
              ('万难', '万难foo.py', 'ä\nö\rü')]
     e = tools.multipart_environ(fields=fields, files=files)
     request = BaseRequest(e)
     # File content
     self.assertTrue('file1' in request.POST)
     self.assertTrue('file1' in request.files)
     self.assertTrue('file1' not in request.forms)
     cmp = tob('content1') if sys.version_info >= (3, 2, 0) else 'content1'
     self.assertEqual(cmp, request.POST['file1'].file.read())
     # File name and meta data
     self.assertTrue('万难' in request.POST)
     self.assertTrue('万难' in request.files)
     self.assertTrue('万难' not in request.forms)
     self.assertEqual('foo.py', request.POST['万难'].filename)
     self.assertTrue(request.files['万难'])
     self.assertFalse(request.files.file77)
     # UTF-8 files
     x = request.POST['万难'].file.read()
     if (3, 2, 0) > sys.version_info >= (3, 0, 0):
         x = x.encode('utf8')
     self.assertEqual(tob('ä\nö\rü'), x)
     # No file
     self.assertTrue('file3' not in request.POST)
     self.assertTrue('file3' not in request.files)
     self.assertTrue('file3' not in request.forms)
     # Field (single)
     self.assertEqual('value1', request.POST['field1'])
     self.assertTrue('field1' not in request.files)
     self.assertEqual('value1', request.forms['field1'])
     # Field (multi)
     self.assertEqual(2, len(request.POST.getall('field2')))
     self.assertEqual(['value2', 'value3'], request.POST.getall('field2'))
     self.assertEqual(['value2', 'value3'], request.forms.getall('field2'))
     self.assertTrue('field2' not in request.files)
Exemple #2
0
 def test_multipart(self):
     """ Environ: POST (multipart files and multible values per key) """
     fields = [('field1','value1'), ('field2','value2'), ('field2','value3')]
     files = [('file1','filename1.txt','content1'), ('万难','万难foo.py', 'ä\nö\rü')]
     e = tools.multipart_environ(fields=fields, files=files)
     request = BaseRequest(e)
     # File content
     self.assertTrue('file1' in request.POST)
     self.assertTrue('file1' in request.files)
     self.assertTrue('file1' not in request.forms)
     cmp = tob('content1') if sys.version_info >= (3,2,0) else 'content1'
     self.assertEqual(cmp, request.POST['file1'].file.read())
     # File name and meta data
     self.assertTrue('万难' in request.POST)
     self.assertTrue('万难' in request.files)
     self.assertTrue('万难' not in request.forms)
     self.assertEqual('foo.py', request.POST['万难'].filename)
     self.assertTrue(request.files['万难'])
     self.assertFalse(request.files.file77)
     # UTF-8 files
     x = request.POST['万难'].file.read()
     if (3,2,0) > sys.version_info >= (3,0,0):
         x = x.encode('utf8')
     self.assertEqual(tob('ä\nö\rü'), x)
     # No file
     self.assertTrue('file3' not in request.POST)
     self.assertTrue('file3' not in request.files)
     self.assertTrue('file3' not in request.forms)
     # Field (single)
     self.assertEqual('value1', request.POST['field1'])
     self.assertTrue('field1' not in request.files)
     self.assertEqual('value1', request.forms['field1'])
     # Field (multi)
     self.assertEqual(2, len(request.POST.getall('field2')))
     self.assertEqual(['value2', 'value3'], request.POST.getall('field2'))
     self.assertEqual(['value2', 'value3'], request.forms.getall('field2'))
     self.assertTrue('field2' not in request.files)