def test_expiration(self): token = email.build_email_change_token(self.user, '*****@*****.**') time.sleep(1.1) try: email.verify_email_change_token(self.user, token, max_age=1) self.fail('Should have thrown exception') except ValueError as e: self.assertTrue('Signature age' in str(e))
def confirm_email(request, token): try: uid, new_address = email.verify_email_change_token(request.user, token) if uid != request.user.uid: messages.error(request, 'E-mail confirmation does not exist for this account.') elif request.user.email != new_address: request.user.email = new_address request.user.save() messages.success(request, 'E-mail address successfully changed.') else: messages.warning(request, 'E-mail address unchanged.') except ValueError: messages.error(request, 'That token is not valid.') return redirect('account-notifications')
def confirm_email(request, token): try: uid, new_address = email.verify_email_change_token(request.user, token) if uid != request.user.uid: messages.error(request, "E-mail confirmation does not exist for this account.") elif request.user.email != new_address: request.user.email = new_address request.user.save() messages.success(request, "E-mail address successfully changed.") else: messages.warning(request, "E-mail address unchanged.") except ValueError: messages.error(request, "That token is not valid.") return redirect("account-notifications")
def test_build_email_change_token(self): token = email.build_email_change_token(self.user, '*****@*****.**') uid, new_address = email.verify_email_change_token(self.user, token) self.assertEqual(self.user.id, uid) self.assertEqual('*****@*****.**', new_address)