Add email confirmation for nuew users

This commit is contained in:
Stephan Porada
2019-07-08 16:09:00 +02:00
parent 8c121a63de
commit 3b6c9f22dd
3 changed files with 45 additions and 0 deletions

View File

@ -1,5 +1,7 @@
import unittest
import time
from app.models import User
from app import db
class UserModelTestCase(unittest.TestCase):
@ -21,3 +23,27 @@ class UserModelTestCase(unittest.TestCase):
u = User(password='cat')
u2 = User(password='cat')
self.assertTrue(u.password_hash != u2.password_hash)
def test_valid_confirmation_token(self):
u = User(password='cat')
db.session.add(u)
db.session.commit()
token = u.generate_confirmation_token()
self.assertTrue(u.confirm(token))
def test_invalid_confirmation_token(self):
u1 = User(password='cat')
u2 = User(password='dog')
db.session.add(u1)
db.session.add(u2)
db.session.commit()
token = u1.generate_confirmation_token()
self.assertFalse(u2.confirm(token))
def test_expired_confirmation_token(self):
u = User(password='cat')
db.session.add(u)
db.session.commit()
token = u.generate_confirmation_token(1)
time.sleep(2)
self.assertFalse(u.confirm(token))