parent
fa1cd8b24b
commit
9a8b14e5d8
5 changed files with 73 additions and 0 deletions
@ -0,0 +1,35 @@ |
||||
from django.contrib.auth import get_user_model |
||||
from ..tokens import verification_email_token |
||||
from django.test import TestCase, Client |
||||
from django.urls import reverse |
||||
|
||||
User = get_user_model() |
||||
|
||||
|
||||
class VerificationEmailTest(TestCase): |
||||
def setUp(self): |
||||
self.client = Client() |
||||
|
||||
self.user_1 = User.objects.create_user(username='user_1@example.com', password='1234') |
||||
self.token_user_1 = verification_email_token.make_token(self.user_1) |
||||
|
||||
self.url = reverse('lilcity:verification-email', kwargs={"token": self.token_user_1}) |
||||
|
||||
def test_should_verification_email_for_login_user(self): |
||||
self.client.login(username=self.user_1.username, password='1234') |
||||
|
||||
response = self.client.get(f'{self.url}') |
||||
self.assertEqual(response.status_code, 200) |
||||
|
||||
def test_should_anonymous_user(self): |
||||
response = self.client.get(f'{self.url}') |
||||
|
||||
self.assertEqual(response.status_code, 400) |
||||
|
||||
def test_should_error_if_token_is_not_valid(self): |
||||
user_hacker = User.objects.create_user(username='hacker@example.com', password='1234') |
||||
|
||||
self.client.login(username=user_hacker.username, password='1234') |
||||
response = self.client.get(f'{self.url}') |
||||
|
||||
self.assertEqual(response.status_code, 400) |
||||
@ -0,0 +1,13 @@ |
||||
from django.contrib.auth.tokens import PasswordResetTokenGenerator |
||||
from django.utils import six |
||||
|
||||
|
||||
class TokenGenerator(PasswordResetTokenGenerator): |
||||
def _make_hash_value(self, user, timestamp): |
||||
return ( |
||||
six.text_type(user.pk) + six.text_type(timestamp) + |
||||
six.text_type(user.is_active) |
||||
) |
||||
|
||||
|
||||
verification_email_token = TokenGenerator() |
||||
Loading…
Reference in new issue