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