Ejemplo n.º 1
0
 def test_generate_url(self):
     # Ensure generate_url behaves as expected.
     token = encode_token('*****@*****.**')
     url = generate_url('main.home', token)
     url_token = url.split('=')[1]
     self.assertEqual(token, url_token)
     email = decode_token(url_token)
     self.assertEqual(email, '*****@*****.**')
Ejemplo n.º 2
0
def confirm_email(token):
    email = decode_token(token)
    if not email:
        flash('The confirmation link is invalid or has expired.', 'danger')
        return redirect(url_for('main.home'))
    user = User.query.filter_by(email=email).first()
    if user.confirmed:
        flash('Account already confirmed.', 'success')
        return redirect(url_for('main.home'))
    user.confirmed = True
    db.session.add(user)
    db.session.commit()
    flash('You have confirmed your account. Thanks!', 'success')
    return redirect(url_for('main.home'))
Ejemplo n.º 3
0
 def test_verify_invalid_token(self):
     # Ensure encode and decode behave correctly when token is invalid.
     token = 'invalid'
     email = decode_token(token)
     self.assertEqual(email, False)
Ejemplo n.º 4
0
 def test_verify_expired_token(self):
     # Ensure encode and decode behave correctly when token has expired.
     token = encode_token('*****@*****.**')
     time.sleep(1)
     email = decode_token(token, 0)
     self.assertEqual(email, False)
Ejemplo n.º 5
0
 def test_verify_token(self):
     # Ensure encode and decode behave correctly.
     token = encode_token('*****@*****.**')
     email = decode_token(token)
     self.assertEqual(email, '*****@*****.**')