X-Git-Url: https://code.kerkeslager.com/?p=fwx;a=blobdiff_plain;f=test_phial.py;h=8d7498dae942db6dd2a404dbe48c38747580e50a;hp=6ff27d9335fa56fb1b43546ec994e3715dac3256;hb=f4de177de239a52c4780ca49a03935e36e262399;hpb=fd77e7cd13caaf823abf3bad2ebfdd6bab5f1bd1 diff --git a/test_phial.py b/test_phial.py index 6ff27d9..8d7498d 100644 --- a/test_phial.py +++ b/test_phial.py @@ -58,9 +58,46 @@ class TextResponseTests(unittest.TestCase): response = phial.TextResponse('Hello, world\n') self.assertEqual(response.content_type, 'text/plain') +class RedirectResponse(unittest.TestCase): + def test_takes_location_as_positional_argument(self): + response = phial.RedirectResponse('/location') + self.assertEqual(response.location, '/location') + + def test_takes_location_as_keyword_argument(self): + response = phial.RedirectResponse(location='/location') + self.assertEqual(response.location, '/location') + + def test_permanent_defaults_to_true(self): + response = phial.RedirectResponse('/location') + self.assertEqual(response.permanent, True) + + def test_status(self): + self.assertEqual( + phial.RedirectResponse('/location', permanent=True).status, + 308, + ) + self.assertEqual( + phial.RedirectResponse('/location', permanent=False).status, + 307, + ) + + def test_headers(self): + self.assertEqual( + phial.RedirectResponse('/location').headers, + (('Location','/location'),), + ) + + def test_content(self): + self.assertEqual( + phial.RedirectResponse('/location').content, + (b'',), + ) + class _get_status_Tests(unittest.TestCase): def test_basic(self): self.assertEqual(phial._get_status(mock.MagicMock(status=200)), '200 OK') + self.assertEqual(phial._get_status(mock.MagicMock(status=307)), '307 Temporary Redirect') + self.assertEqual(phial._get_status(mock.MagicMock(status=308)), '308 Permanent Redirect') class _get_content_Tests(unittest.TestCase): def test_bytes(self):