def test_form_with_duplicate_names(self): environ = { 'wsgi.input': io.BytesIO(b'a=foo&b=bar&a=baz'), 'REQUEST_METHOD': 'POST', 'CONTENT_LENGTH': '17', } r = ice.Request(environ) self.assertEqual(r.form.data, {'a': ['foo', 'baz'], 'b': ['bar']})
def test_form_with_missing_value(self): environ = { 'wsgi.input': io.BytesIO(b'a=foo&b='), 'REQUEST_METHOD': 'POST', 'CONTENT_LENGTH': '8', } r = ice.Request(environ) self.assertEqual(r.form.data, {'a': ['foo']})
def test_form_with_excess_data(self): environ = { 'wsgi.input': io.BytesIO(b'a=foo&b=bar'), 'REQUEST_METHOD': 'POST', 'CONTENT_LENGTH': '4', } r = ice.Request(environ) self.assertEqual(r.form.data, {'a': ['fo']})
def test_form_with_percent_encoding(self): environ = { 'wsgi.input': io.BytesIO(b'a=f%6f%6f&b=bar'), 'REQUEST_METHOD': 'POST', 'CONTENT_LENGTH': '15', } r = ice.Request(environ) self.assertEqual(r.form.data, {'a': ['foo'], 'b': ['bar']})
def test_form_with_no_data(self): environ = { 'wsgi.input': None, 'REQUEST_METHOD': 'POST', 'CONTENT_LENGTH': '0', } r = ice.Request(environ) self.assertEqual(r.form.data, {})
def test_form_with_plus_sign(self): environ = { 'wsgi.input': io.BytesIO(b'a=foo+bar&b=baz'), 'REQUEST_METHOD': 'POST', 'CONTENT_LENGTH': '15', } r = ice.Request(environ) self.assertEqual(r.form.data, {'a': ['foo bar'], 'b': ['baz']})
def test_query_with_plus_sign(self): r = ice.Request({'QUERY_STRING': 'a=foo+bar&b=baz'}) self.assertEqual(r.query.data, {'a': ['foo bar'], 'b': ['baz']})
def test_query_with_no_query_string(self): r = ice.Request({}) self.assertEqual(r.query.data, {})
def test_query_with_no_data(self): r = ice.Request({'QUERY_STRING': ''}) self.assertEqual(r.query.data, {})
def test_query_with_missing_value(self): r = ice.Request({'QUERY_STRING': 'a=foo&b='}) self.assertEqual(r.query.data, {'a': ['foo']})
def test_query_with_duplicate_names(self): r = ice.Request({'QUERY_STRING': 'a=foo&b=bar&a=baz'}) self.assertEqual(r.query.data, {'a': ['foo', 'baz'], 'b': ['bar']})
def test_empty_path(self): r = ice.Request({'PATH_INFO': ''}) self.assertEqual(r.path, '/')
def test_missing_method(self): r = ice.Request({}) self.assertEqual(r.method, 'GET')
def test_method(self): r = ice.Request({'REQUEST_METHOD': 'HEAD'}) self.assertEqual(r.method, 'HEAD')
def test_environ(self): r = ice.Request({'foo': 'bar'}) self.assertEqual(r.environ, {'foo': 'bar'})
def test_cookies(self): environ = {'HTTP_COOKIE': 'a=foo; b="bar"; c="baz qux"'} r = ice.Request(environ) self.assertEqual(r.cookies, {'a': 'foo', 'b': 'bar', 'c': 'baz qux'})
def test_query_with_percent_encoding(self): r = ice.Request({'QUERY_STRING': 'a=f%6f%6f&b=bar'}) self.assertEqual(r.query.data, {'a': ['foo'], 'b': ['bar']})
def test_missing_path(self): r = ice.Request({}) self.assertEqual(r.path, '/')
def test_path(self): r = ice.Request({'PATH_INFO': '/foo'}) self.assertEqual(r.path, '/foo')
def test_form_with_no_wsgi_input(self): r = ice.Request({'REQUEST_METHOD': 'POST'}) self.assertEqual(r.form.data, {})