def test_get_email_ban(self): """get_email_ban returns valid ban""" nonexistent_ban = get_email_ban('*****@*****.**') self.assertIsNone(nonexistent_ban) Ban.objects.create( banned_value='*****@*****.**', check_type=Ban.EMAIL, expires_on=timezone.now() - timedelta(days=7) ) expired_ban = get_email_ban('*****@*****.**') self.assertIsNone(expired_ban) Ban.objects.create( banned_value='*****@*****.**', check_type=Ban.IP ) wrong_type_ban = get_email_ban('*****@*****.**') self.assertIsNone(wrong_type_ban) valid_ban = Ban.objects.create( banned_value='*.ru', check_type=Ban.EMAIL, expires_on=timezone.now() + timedelta(days=7) ) self.assertEqual(get_email_ban('*****@*****.**').pk, valid_ban.pk)
def validate_email_banned(value): ban = get_email_ban(value) if ban: if ban.user_message: raise ValidationError(ban.user_message) else: raise ValidationError(_("This e-mail address is not allowed."))
def validate_email(self, data): ban = get_email_ban(data, registration_only=True) if ban: if ban.user_message: raise ValidationError(ban.user_message) else: raise ValidationError(_("This e-mail address is not allowed.")) return data
def clean_email(self): data = self.cleaned_data['email'] ban = get_email_ban(data, registration_only=True) if ban: if ban.user_message: raise ValidationError(ban.user_message) else: raise ValidationError(_("This e-mail address is not allowed.")) return data
def test_get_email_ban(self): """get_email_ban returns valid ban""" nonexistent_ban = get_email_ban("*****@*****.**") self.assertIsNone(nonexistent_ban) Ban.objects.create( banned_value="*****@*****.**", check_type=BAN_EMAIL, expires_on=timezone.now() - timedelta(days=7) ) expired_ban = get_email_ban("*****@*****.**") self.assertIsNone(expired_ban) Ban.objects.create(banned_value="*****@*****.**", check_type=BAN_IP) wrong_type_ban = get_email_ban("*****@*****.**") self.assertIsNone(wrong_type_ban) valid_ban = Ban.objects.create( banned_value="*.ru", check_type=BAN_EMAIL, expires_on=timezone.now() + timedelta(days=7) ) self.assertEqual(get_email_ban("*****@*****.**").pk, valid_ban.pk)
def test_get_email_ban(self): """get_email_ban returns valid ban""" nonexistent_ban = get_email_ban('*****@*****.**') self.assertIsNone(nonexistent_ban) Ban.objects.create( banned_value='*****@*****.**', check_type=Ban.EMAIL, expires_on=timezone.now() - timedelta(days=7), ) expired_ban = get_email_ban('*****@*****.**') self.assertIsNone(expired_ban) Ban.objects.create( banned_value='*****@*****.**', check_type=Ban.IP, ) wrong_type_ban = get_email_ban('*****@*****.**') self.assertIsNone(wrong_type_ban) valid_ban = Ban.objects.create( banned_value='*.ru', check_type=Ban.EMAIL, expires_on=timezone.now() + timedelta(days=7), ) self.assertEqual(get_email_ban('*****@*****.**').pk, valid_ban.pk) regitration_ban = Ban.objects.create( banned_value='*.ua', check_type=Ban.EMAIL, expires_on=timezone.now() + timedelta(days=7), registration_only=True, ) self.assertIsNone(get_email_ban('*****@*****.**')) self.assertEqual(get_email_ban('*****@*****.**', True).pk, regitration_ban.pk)