Example #1
0
    def test_parse_form_data_utf_8(self):
        data = (u'\u3082=\u767e&'
                u'\u305b=\u767e&'
                u'\u305b=\u5343&'
                u'\u3059=\u767e&'
                u'\u3059=\u5343&'
                u'\u3059=\u4e07')
        self.assert_equal(
            http.parse_form_data(self.new_environ(data=data)), {
                u'\u3082': [u'\u767e'],
                u'\u305b': [u'\u767e', u'\u5343'],
                u'\u3059': [u'\u767e', u'\u5343', u'\u4e07']
            })

        data = self.form_data(
            (u'\u3082', u'\u767e'),
            (u'\u305b', u'\u767e'),
            (u'\u305b', u'\u5343'),
            (u'\u3059', u'\u767e'),
            (u'\u3059', u'\u5343'),
            (u'\u3059', u'\u4e07'),
        )
        self.assert_equal(
            http.parse_form_data(self.new_environ(form=data)), {
                u'\u3082': [u'\u767e'],
                u'\u305b': [u'\u767e', u'\u5343'],
                u'\u3059': [u'\u767e', u'\u5343', u'\u4e07']
            })
Example #2
0
    def test_parse_form_data_ascii(self):
        data = ('x=-1&' 'y=-1&' 'y=-2&' 'z=-1&' 'z=-2&' 'z=-3')
        self.assert_equal(http.parse_form_data(self.new_environ(data=data)), {
            'x': ['-1'],
            'y': ['-1', '-2'],
            'z': ['-1', '-2', '-3']
        })

        data = self.form_data(('x', '-1'), ('y', '-1'), ('y', '-2'),
                              ('z', '-1'), ('z', '-2'), ('z', '-3'))
        self.assert_equal(http.parse_form_data(self.new_environ(form=data)), {
            'x': ['-1'],
            'y': ['-1', '-2'],
            'z': ['-1', '-2', '-3']
        })
Example #3
0
 def test_parse_form_data_post(self):
     data = self.form_data(
         ('a', (u'\u3044', 'spam\neggs\nham\n', 'text/plain')))
     form_data = http.parse_form_data(self.new_environ(form=data))
     self.assert_equal(list(form_data), ['a'])
     self.assert_equal(len(form_data['a']), 1)
     a = form_data['a'][0]
     self.assert_equal(a.name, 'a')
     self.assert_equal(a.filename, u'\u3044')
     self.assert_equal(a.value, (b'spam\n' b'eggs\n' b'ham\n'))
Example #4
0
 def test_parse_form_data_post(self):
     data = self.form_data(('a', (u'\u3044', 'spam\neggs\nham\n', 'text/plain')))
     form_data = http.parse_form_data(self.new_environ(form=data))
     self.assert_equal(list(form_data), ['a'])
     self.assert_equal(len(form_data['a']), 1)
     a = form_data['a'][0]
     self.assert_equal(a.name, 'a')
     self.assert_equal(a.filename, u'\u3044')
     self.assert_equal(a.value, (b'spam\n'
                                 b'eggs\n'
                                 b'ham\n'))
Example #5
0
    def test_parse_form_data_ascii(self):
        data = ('x=-1&'
                'y=-1&'
                'y=-2&'
                'z=-1&'
                'z=-2&'
                'z=-3')
        self.assert_equal(http.parse_form_data(self.new_environ(data=data)),
                          {'x': ['-1'],
                           'y': ['-1', '-2'],
                           'z': ['-1', '-2', '-3']})

        data = self.form_data(('x', '-1'),
                              ('y', '-1'),
                              ('y', '-2'),
                              ('z', '-1'),
                              ('z', '-2'),
                              ('z', '-3'))
        self.assert_equal(http.parse_form_data(self.new_environ(form=data)),
                          {'x': ['-1'],
                           'y': ['-1', '-2'],
                           'z': ['-1', '-2', '-3']})
Example #6
0
    def test_parse_form_data_utf_8(self):
        data = (u'\u3082=\u767e&'
                u'\u305b=\u767e&'
                u'\u305b=\u5343&'
                u'\u3059=\u767e&'
                u'\u3059=\u5343&'
                u'\u3059=\u4e07')
        self.assert_equal(http.parse_form_data(self.new_environ(data=data)),
                          {u'\u3082': [u'\u767e'],
                           u'\u305b': [u'\u767e', u'\u5343'],
                           u'\u3059': [u'\u767e', u'\u5343', u'\u4e07']})

        data = self.form_data((u'\u3082', u'\u767e'),
                              (u'\u305b', u'\u767e'),
                              (u'\u305b', u'\u5343'),
                              (u'\u3059', u'\u767e'),
                              (u'\u3059', u'\u5343'),
                              (u'\u3059', u'\u4e07'),
                              )
        self.assert_equal(http.parse_form_data(self.new_environ(form=data)),
                          {u'\u3082': [u'\u767e'],
                           u'\u305b': [u'\u767e', u'\u5343'],
                           u'\u3059': [u'\u767e', u'\u5343', u'\u4e07']})
Example #7
0
 def test_parse_form_data_empty(self):
     self.assert_equal(http.parse_form_data(self.new_environ()), {})
     self.assert_equal(http.parse_form_data(self.new_environ(data='')), {})
     self.assert_equal(http.parse_form_data(self.new_environ(form='')), {})
Example #8
0
 def test_parse_form_data_http_408(self):
     data = self.form_data(('a', ('a.txt', '', 'text/plain')))
     environ = self.new_environ(form=data[:-20])
     environ.update(CONTENT_LENGTH=str(len(data) * 2))
     with self.assert_raises(http.RequestTimeout):
         http.parse_form_data(environ)
Example #9
0
 def test_parse_form_data_put(self):
     data = 'spam\neggs\nham\n'
     environ = self.new_environ(data=data)
     environ.update(REQUEST_METHOD='PUT',
                    CONTENT_TYPE='text/plain')
     self.assert_equal(http.parse_form_data(environ), {})
Example #10
0
 def test_parse_form_data_empty(self):
     self.assert_equal(http.parse_form_data(self.new_environ()), {})
     self.assert_equal(http.parse_form_data(self.new_environ(data='')), {})
     self.assert_equal(http.parse_form_data(self.new_environ(form='')), {})
Example #11
0
 def test_parse_form_data_http_408(self):
     data = self.form_data(('a', ('a.txt', '', 'text/plain')))
     environ = self.new_environ(form=data[:-20])
     environ.update(CONTENT_LENGTH=str(len(data) * 2))
     with self.assert_raises(http.RequestTimeout):
         http.parse_form_data(environ)
Example #12
0
 def test_parse_form_data_put(self):
     data = 'spam\neggs\nham\n'
     environ = self.new_environ(data=data)
     environ.update(REQUEST_METHOD='PUT', CONTENT_TYPE='text/plain')
     self.assert_equal(http.parse_form_data(environ), {})