From 676e06173150d310be20110ef50860473ea369ce Mon Sep 17 00:00:00 2001 From: Ali Date: Wed, 17 Apr 2019 11:23:31 +0600 Subject: [PATCH] Added test to check email length in to_alias field --- drfpasswordless/models.py | 5 +++++ tests/test_authentication.py | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drfpasswordless/models.py b/drfpasswordless/models.py index d3bcbc7..9875614 100644 --- a/drfpasswordless/models.py +++ b/drfpasswordless/models.py @@ -60,3 +60,8 @@ class CallbackToken(AbstractBaseCallbackToken): class Meta(AbstractBaseCallbackToken.Meta): verbose_name = 'Callback Token' + + def save(self, force_insert=False, force_update=False, using=None, + update_fields=None): + self.full_clean() + super().save(force_insert, force_update, using, update_fields) diff --git a/tests/test_authentication.py b/tests/test_authentication.py index db1811b..d31333b 100644 --- a/tests/test_authentication.py +++ b/tests/test_authentication.py @@ -1,10 +1,11 @@ +from django.core.exceptions import ValidationError from rest_framework import status from rest_framework.authtoken.models import Token from rest_framework.test import APITestCase from django.contrib.auth import get_user_model from drfpasswordless.settings import api_settings, DEFAULTS -from drfpasswordless.utils import CallbackToken +from drfpasswordless.utils import CallbackToken, create_callback_token_for_user User = get_user_model() @@ -24,6 +25,12 @@ def test_email_signup_failed(self): response = self.client.post(self.url, data) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + def test_email_callback_token_create(self): + email = '1234567890' * 23 + '@example.com' + user = User.objects.create(email=email) + with self.assertRaises(ValidationError): + create_callback_token_for_user(user, "EMAIL") + def test_email_signup_success(self): email = 'aaron@example.com' data = {'email': email}