def test_bug_17944_empty_password(self): """Test form can be used when password not set https://code.djangoproject.com/ticket/17944 """ user = User.objects.get(email='*****@*****.**') form = UserChangeForm(instance=user) self.assertIn(_('No password set.'), form.as_table())
def test_unusable_password(self): """Test that Django shows unusable password warning""" user = User.objects.get(email="*****@*****.**") user.set_unusable_password() user.save() form = UserChangeForm(instance=user) self.assertIn(_("No password set."), form.as_table())
def test_update_form_success(self): """Test successful submission of update form""" user = UserFactory() data = { "email": user.email, "date_joined": user.date_joined, } form = UserChangeForm(data, instance=user) self.assertTrue(form.is_valid())
def test_email_validity(self): """Ensure Email Validation is used on User""" user = User.objects.get(email="*****@*****.**") data = {"email": "not valid"} form = UserChangeForm(data, instance=user) self.assertFalse(form.is_valid()) validator = next(v for v in User._meta.get_field("email").validators if v.code == "invalid") self.assertEqual(form["email"].errors, [str(validator.message)])
def test_bug_17944_unknown_password_algorithm(self): """Test form can be used when hashing algorithm is unrecognized https://code.djangoproject.com/ticket/17944 """ user = User.objects.get(email='*****@*****.**') form = UserChangeForm(instance=user) self.assertIn( _('Invalid password format or unknown hashing algorithm.'), form.as_table())
def test_email_validity(self): """Ensure Email Validation is used on User""" user = User.objects.get(email='*****@*****.**') data = {'email': 'not valid'} form = UserChangeForm(data, instance=user) self.assertFalse(form.is_valid()) validator = next(v for v in User._meta.get_field('email').validators if v.code == 'invalid') self.assertEqual(form['email'].errors, [str(validator.message)])
def test_bug_17944_unmanageable_password(self): """Test form can be used when password unmanageable https://code.djangoproject.com/ticket/17944 """ user = User.objects.get(email="*****@*****.**") form = UserChangeForm(instance=user) self.assertIn( _("Invalid password format or unknown hashing algorithm."), form.as_table(), )
def test_bug_19349_bound_password_field(self): """Test re-rendering of ReadOnlyPasswordHashWidget https://code.djangoproject.com/ticket/19349 """ user = User.objects.get(email='*****@*****.**') form = UserChangeForm(data={}, instance=user) # When rendering the bound password field, # ReadOnlyPasswordHashWidget needs the initial # value to render correctly self.assertEqual(form.initial['password'], form['password'].value())
def test_bug_19133(self): """The change form does not return the password value https://code.djangoproject.com/ticket/19133 """ # Use the form to construct the POST data user = User.objects.get(email='*****@*****.**') form_for_data = UserChangeForm(instance=user) post_data = form_for_data.initial # The password field should be readonly, so anything # posted here should be ignored; the form will be # valid, and give back the 'initial' value for the # password field. post_data['password'] = '******' form = UserChangeForm(instance=user, data=post_data) self.assertTrue(form.is_valid()) self.assertTrue(user.check_password('password')) # $ not in password self.assertIn('$', form.cleaned_data['password']) # hash contains $