diff options
| author | Tim Graham <timograham@gmail.com> | 2015-02-10 09:17:08 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-02-11 10:19:22 -0500 |
| commit | 2d7aca3da0a46c09e9c70ebdb56ed340691a999f (patch) | |
| tree | ac7c041d73e922d8e83a1944d56a27138875fe8e /tests/auth_tests/test_templates.py | |
| parent | 8192a164defa24d75672e6b10cec650489b8c748 (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.py | 57 |
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>') |
