def register(): db_session = Client().session() user = User( email=request.form['email'], identifier=session['partial_user']['identifier']) db_session.add(user) db_session.flush() token = EmailVerificationToken.generate(user) send_verification_mail( user, url_for('verify_email', token=token.token, _external=True)) session['user'] = {'email': user.email, 'identifier': user.identifier} return redirect(request.form['redirect_uri'])
def test_send_verification_mail(self, os, smtplib): os.environ = {'SENDGRID_PASSWORD': '******', 'SENDGRID_USERNAME': '******'} app.config['SERVER_NAME'] = 'localhost:5000' smtp = Mock() smtplib.SMTP.return_value = smtp user = User(email="*****@*****.**") with app.test_request_context('/'): g.user = user send_verification_mail(user, 'http://radlibs.info/verify/asdf') smtp.sendmail.assert_called_once() from_address, to_addresses, message = smtp.sendmail.mock_calls[0][1] eq_(from_address, '*****@*****.**') eq_(to_addresses, ['*****@*****.**']) assert 'http://radlibs.info/verify/asdf' in message,\ "Didn't see verification url" assert '<a href="http://radlibs.info/verify/asdf">' in message,\ "Didn't see verification link"