df7e77112e222f8b26465377c925e843324f7206
[fwx] / test_phial.py
1 import unittest
2 from unittest import mock
3
4 import phial
5
6 class ResponseTests(unittest.TestCase):
7     def test_content_can_be_positional_argument(self):
8         response = phial.Response('Hello, world\n', content_type='text/plain')
9
10         self.assertEqual(response.content, 'Hello, world\n')
11
12     def test_content_can_be_keyword_argument(self):
13         response = phial.Response(content='Hello, world\n', content_type='text/plain')
14
15         self.assertEqual(response.content, 'Hello, world\n')
16
17     def test_status_defaults_to_200(self):
18         response = phial.Response(
19             content_type='text/plain',
20             content='Hello, world\n',
21         )
22
23         self.assertEqual(response.status, 200)
24
25     def test_headers(self):
26         response = phial.Response(
27             content_type='text/plain',
28             content='Hello, world\n',
29         )
30
31         self.assertEqual(
32             response.headers,
33             (
34                 ('Content-Type', 'text/plain'),
35             ),
36         )
37
38 class _get_status_Tests(unittest.TestCase):
39     def test_basic(self):
40         self.assertEqual(phial._get_status(mock.MagicMock(status=200)), '200 OK')
41
42 class _get_content_Tests(unittest.TestCase):
43     def test_bytes(self):
44         self.assertEqual(
45             phial._get_content(mock.MagicMock(content=b'Hello, world\n')),
46             (b'Hello, world\n',),
47         )
48
49     def test_str(self):
50         self.assertEqual(
51             phial._get_content(mock.MagicMock(content='Hello, world\n')),
52             (b'Hello, world\n',),
53         )
54
55 if __name__ == '__main__':
56     unittest.main()