summaryrefslogtreecommitdiff
path: root/tests/auth_tests/test_templates.py
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-02-10 09:17:08 -0500
committerTim Graham <timograham@gmail.com>2015-02-11 10:19:22 -0500
commit2d7aca3da0a46c09e9c70ebdb56ed340691a999f (patch)
treeac7c041d73e922d8e83a1944d56a27138875fe8e /tests/auth_tests/test_templates.py
parent8192a164defa24d75672e6b10cec650489b8c748 (diff)
Moved contrib.auth tests out of contrib.
Diffstat (limited to 'tests/auth_tests/test_templates.py')
-rw-r--r--tests/auth_tests/test_templates.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/auth_tests/test_templates.py b/tests/auth_tests/test_templates.py
new file mode 100644
index 0000000000..75c4e8b784
--- /dev/null
+++ b/tests/auth_tests/test_templates.py
@@ -0,0 +1,57 @@
+from django.contrib.auth import authenticate
+from django.contrib.auth.models import User
+from django.contrib.auth.tokens import PasswordResetTokenGenerator
+from django.contrib.auth.views import (
+ password_change, password_change_done, password_reset,
+ password_reset_complete, password_reset_confirm, password_reset_done,
+)
+from django.test import RequestFactory, TestCase, override_settings
+from django.utils.encoding import force_bytes, force_text
+from django.utils.http import urlsafe_base64_encode
+
+
+@override_settings(
+ PASSWORD_HASHERS=['django.contrib.auth.hashers.SHA1PasswordHasher'],
+ ROOT_URLCONF='auth_tests.urls',
+)
+class AuthTemplateTests(TestCase):
+
+ def test_titles(self):
+ rf = RequestFactory()
+ user = User.objects.create_user('jsmith', 'jsmith@example.com', 'pass')
+ user = authenticate(username=user.username, password='pass')
+ request = rf.get('/somepath/')
+ request.user = user
+
+ response = password_reset(request, post_reset_redirect='dummy/')
+ self.assertContains(response, '<title>Password reset</title>')
+ self.assertContains(response, '<h1>Password reset</h1>')
+
+ response = password_reset_done(request)
+ self.assertContains(response, '<title>Password reset sent</title>')
+ self.assertContains(response, '<h1>Password reset sent</h1>')
+
+ # password_reset_confirm invalid token
+ response = password_reset_confirm(request, uidb64='Bad', token='Bad', post_reset_redirect='dummy/')
+ self.assertContains(response, '<title>Password reset unsuccessful</title>')
+ self.assertContains(response, '<h1>Password reset unsuccessful</h1>')
+
+ # password_reset_confirm valid token
+ default_token_generator = PasswordResetTokenGenerator()
+ token = default_token_generator.make_token(user)
+ uidb64 = force_text(urlsafe_base64_encode(force_bytes(user.pk)))
+ response = password_reset_confirm(request, uidb64, token, post_reset_redirect='dummy/')
+ self.assertContains(response, '<title>Enter new password</title>')
+ self.assertContains(response, '<h1>Enter new password</h1>')
+
+ response = password_reset_complete(request)
+ self.assertContains(response, '<title>Password reset complete</title>')
+ self.assertContains(response, '<h1>Password reset complete</h1>')
+
+ response = password_change(request, post_change_redirect='dummy/')
+ self.assertContains(response, '<title>Password change</title>')
+ self.assertContains(response, '<h1>Password change</h1>')
+
+ response = password_change_done(request)
+ self.assertContains(response, '<title>Password change successful</title>')
+ self.assertContains(response, '<h1>Password change successful</h1>')