improve code structure

This commit is contained in:
Miguel Grinberg
2019-05-04 20:17:04 +00:00
parent 8aa50f171d
commit b16466f1a9
3 changed files with 125 additions and 115 deletions

View File

@@ -6,9 +6,7 @@ from tests.mock_socket import get_request_fd
class TestRequest(unittest.TestCase):
def test_create_request(self):
fd = get_request_fd('GET', '/foo')
req = Request(fd, 'addr')
req.close()
self.assertEqual(req.client_sock, fd)
req = Request.create(fd, 'addr')
self.assertEqual(req.client_addr, 'addr')
self.assertEqual(req.method, 'GET')
self.assertEqual(req.path, '/foo')
@@ -28,7 +26,7 @@ class TestRequest(unittest.TestCase):
'Content-Type': 'application/json',
'Cookie': 'foo=bar;abc=def',
'Content-Length': '3'}, body='aaa')
req = Request(fd, 'addr')
req = Request.create(fd, 'addr')
self.assertEqual(req.headers, {
'Host': 'example.com:1234',
'Content-Type': 'application/json',
@@ -41,33 +39,33 @@ class TestRequest(unittest.TestCase):
def test_args(self):
fd = get_request_fd('GET', '/?foo=bar&abc=def&x=%2f%%')
req = Request(fd, 'addr')
req = Request.create(fd, 'addr')
self.assertEqual(req.query_string, 'foo=bar&abc=def&x=%2f%%')
self.assertEqual(req.args, {'foo': 'bar', 'abc': 'def', 'x': '/%%'})
def test_json(self):
fd = get_request_fd('GET', '/foo', headers={
'Content-Type': 'application/json'}, body='{"foo":"bar"}')
req = Request(fd, 'addr')
req = Request.create(fd, 'addr')
json = req.json
self.assertEqual(json, {'foo': 'bar'})
self.assertTrue(req.json is json)
fd = get_request_fd('GET', '/foo', headers={
'Content-Type': 'application/json'}, body='[1, "2"]')
req = Request(fd, 'addr')
req = Request.create(fd, 'addr')
self.assertEqual(req.json, [1, '2'])
fd = get_request_fd('GET', '/foo', headers={
'Content-Type': 'application/xml'}, body='[1, "2"]')
req = Request(fd, 'addr')
req = Request.create(fd, 'addr')
self.assertIsNone(req.json)
def test_form(self):
fd = get_request_fd('GET', '/foo', headers={
'Content-Type': 'application/x-www-form-urlencoded'},
body='foo=bar&abc=def&x=%2f%%')
req = Request(fd, 'addr')
req = Request.create(fd, 'addr')
form = req.form
self.assertEqual(form, {'foo': 'bar', 'abc': 'def', 'x': '/%%'})
self.assertTrue(req.form is form)
@@ -75,5 +73,5 @@ class TestRequest(unittest.TestCase):
fd = get_request_fd('GET', '/foo', headers={
'Content-Type': 'application/json'},
body='foo=bar&abc=def&x=%2f%%')
req = Request(fd, 'addr')
req = Request.create(fd, 'addr')
self.assertIsNone(req.form)