diff options
author | Anton Samarchyan <anton.samarchyan@savoirfairelinux.com> | 2017-03-17 15:34:04 -0400 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-06-02 20:10:27 -0400 |
commit | 0c1355e9bb50868c5a5980b975d8f9a76b190f0b (patch) | |
tree | bb8c68f70aec0f8263e9cf285cc67ba6459c7c1e /tests/redirects_tests | |
parent | 2b53c8377dcb7270d95db0b3ea8b2cb28550c5a8 (diff) | |
download | django-0c1355e9bb50868c5a5980b975d8f9a76b190f0b.tar.gz |
Completed test coverage for RedirectFallbackMiddleware.
Diffstat (limited to 'tests/redirects_tests')
-rw-r--r-- | tests/redirects_tests/tests.py | 16 | ||||
-rw-r--r-- | tests/redirects_tests/urls.py | 6 |
2 files changed, 21 insertions, 1 deletions
diff --git a/tests/redirects_tests/tests.py b/tests/redirects_tests/tests.py index cfee12e5d2..5bce11d800 100644 --- a/tests/redirects_tests/tests.py +++ b/tests/redirects_tests/tests.py @@ -8,7 +8,7 @@ from django.test import TestCase, modify_settings, override_settings @modify_settings(MIDDLEWARE={'append': 'django.contrib.redirects.middleware.RedirectFallbackMiddleware'}) -@override_settings(APPEND_SLASH=False, SITE_ID=1) +@override_settings(APPEND_SLASH=False, ROOT_URLCONF='redirects_tests.urls', SITE_ID=1) class RedirectTests(TestCase): def setUp(self): @@ -35,6 +35,20 @@ class RedirectTests(TestCase): response = self.client.get('/initial?foo') self.assertRedirects(response, '/new_target/', status_code=301, target_status_code=404) + @override_settings(APPEND_SLASH=True) + def test_redirect_not_found_with_append_slash(self): + """ + Exercise the second Redirect.DoesNotExist branch in + RedirectFallbackMiddleware. + """ + response = self.client.get('/test') + self.assertEqual(response.status_code, 404) + + def test_redirect_shortcircuits_non_404_response(self): + """RedirectFallbackMiddleware short-circuits on non-404 requests.""" + response = self.client.get('/') + self.assertEqual(response.status_code, 200) + def test_response_gone(self): """When the redirect target is '', return a 410""" Redirect.objects.create(site=self.site, old_path='/initial', new_path='') diff --git a/tests/redirects_tests/urls.py b/tests/redirects_tests/urls.py new file mode 100644 index 0000000000..965f0b8bfa --- /dev/null +++ b/tests/redirects_tests/urls.py @@ -0,0 +1,6 @@ +from django.conf.urls import url +from django.http import HttpResponse + +urlpatterns = [ + url(r'^$', lambda req: HttpResponse('OK')), +] |