diff options
| author | Claude Paroz <claude@2xlibre.net> | 2012-11-01 19:44:45 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2012-11-01 19:47:41 +0100 |
| commit | d9213d09dbb28f687b53d051cddcae03337066c8 (patch) | |
| tree | 129311b9c5e6d75012fe5fc2d3996adf7ec92d26 | |
| parent | ede8a0be05f7b55d07ab5f60f3e8e3135a54f743 (diff) | |
Fixed #16678 -- Wrote tests for contrib.redirects app
Thanks Julien Phalip for the report.
| -rw-r--r-- | django/contrib/redirects/tests.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/django/contrib/redirects/tests.py b/django/contrib/redirects/tests.py new file mode 100644 index 0000000000..11ffc7b748 --- /dev/null +++ b/django/contrib/redirects/tests.py @@ -0,0 +1,42 @@ +from django.conf import settings +from django.contrib.sites.models import Site +from django.test import TestCase +from django.test.utils import override_settings +from django.utils import six + +from .models import Redirect + + +@override_settings( + SITE_ID=1, + APPEND_SLASH=True, + MIDDLEWARE_CLASSES=list(settings.MIDDLEWARE_CLASSES) + + ['django.contrib.redirects.middleware.RedirectFallbackMiddleware'], +) +class RedirectTests(TestCase): + + def setUp(self): + self.site = Site.objects.get(pk=settings.SITE_ID) + + def test_model(self): + r1 = Redirect.objects.create( + site=self.site, old_path='/initial', new_path='/new_target') + self.assertEqual(six.text_type(r1), "/initial ---> /new_target") + + def test_redirect_middleware(self): + r1 = Redirect.objects.create( + site=self.site, old_path='/initial', new_path='/new_target') + response = self.client.get('/initial') + self.assertRedirects(response, + '/new_target', status_code=301, target_status_code=404) + # Works also with trailing slash + response = self.client.get('/initial/') + self.assertRedirects(response, + '/new_target', status_code=301, target_status_code=404) + + def test_response_gone(self): + """When the redirect target is '', return a 410""" + r1 = Redirect.objects.create( + site=self.site, old_path='/initial', new_path='') + response = self.client.get('/initial') + self.assertEqual(response.status_code, 410) |
