示例#1
0
 def test_password_reset_form(self):
     form_data = {'email': self.user.email}
     form = PasswordResetForm(data=form_data)
     self.assertEqual(form.is_valid(), True)
     request = self.factory.post(reverse('password-reset'), data={'email': self.user.email})
     form.save(request=request)
     self.assertEqual(form.cleaned_data['email'], self.user.email)
     self.assertEqual(len(mail.outbox), 1)
示例#2
0
 def test_nonexistant_email(self):
     """
     Test nonexistent email address. This should not fail because it would
     expose information about registered users.
     """
     data = {'email': '*****@*****.**'}
     form = PasswordResetForm(data)
     self.assertTrue(form.is_valid())
     self.assertEqual(len(mail.outbox), 0)
示例#3
0
 def test_inactive_user(self):
     """
     Test that inactive user cannot receive password reset email.
     """
     user = UserFactory(is_active=False)
     form = PasswordResetForm({'email': user.email})
     self.assertTrue(form.is_valid())
     form.save()
     self.assertEqual(len(mail.outbox), 0)
示例#4
0
 def test_unusable_password(self):
     user = UserFactory()
     data = {"email": user.email}
     form = PasswordResetForm(data)
     self.assertTrue(form.is_valid())
     user.set_unusable_password()
     user.save()
     form = PasswordResetForm(data)
     # The form itself is valid, but no email is sent
     self.assertTrue(form.is_valid())
     form.save()
     self.assertEqual(len(mail.outbox), 0)
示例#5
0
 def test_invalid_email(self):
     data = {'email': 'not valid'}
     form = PasswordResetForm(data)
     self.assertFalse(form.is_valid())
     self.assertEqual(form['email'].errors, [_('Enter a valid email address.')])