def test_send_confirmation_email_with_empty_recipient_email(self): """ Com: - recipient_email = None Quando: - Enviamos notificações de confiração de email Verificamos: - Que ocorra uma exeção por causa do email inválido para recipient_email """ recipient_email = None with self.assertRaises(ValueError): send_confirmation_email(recipient_email)
def test_send_confirmation_email_with_invalid_recipient_email(self): """ Com: - recipient_email inválido Quando: - Enviamos notificações de confirmación de email Verifcamos: - Que ocorra uma exeção por causa do email inválido para recipient_email """ recipient_email = 'foo@bar' with self.assertRaises(ValueError): send_confirmation_email(recipient_email)
def test_send_confirmation_email(self): """ Com: - Um email válido para: recipient_email = '*****@*****.**' Quando: - Enviamos a notificação de confirmação de email. Verificamos: - Que ``app.utils.send_email`` seja invocado como os parámetros: - recipient = '*****@*****.**' - subject = "Confirmação de email" - html = render_template('email/activate.html', confirm_url=confirm_url) - Que o valor de retorno da função: send_confirmation_email seja: (True, '') """ recipient_email = '*****@*****.**' ts = utils.get_timed_serializer() token = ts.dumps(recipient_email, salt='email-confirm-key') confirm_url = url_for('admin.confirm_email', token=token, _external=True) with patch('webapp.utils.send_email') as mock: result = send_confirmation_email(recipient_email) expected = (True, '') mock.assert_called_with( recipient_email, "Confirmação de email", render_template('email/activate.html', confirm_url=confirm_url) ) self.assertEqual(expected, result)
def test_send_confirmation_email(self): """ Com: - Um email válido para: recipient_email = '*****@*****.**' Quando: - Enviamos a notificação de confirmação de email. Verificamos: - Que ``app.utils.send_email`` seja invocado como os parámetros: - recipient = '*****@*****.**' - subject = "Confirmação de email" - html = render_template('email/activate.html', confirm_url=confirm_url) - Que o valor de retorno da função: send_confirmation_email seja: (True, '') """ recipient_email = '*****@*****.**' ts = get_timed_serializer() token = ts.dumps(recipient_email, salt='email-confirm-key') confirm_url = url_for('admin.confirm_email', token=token, _external=True) result_expected = (True, '') with patch('webapp.utils.utils.send_email', return_value=result_expected) as mock: result = send_confirmation_email(recipient_email) mock.assert_called_with( recipient_email, "Confirmação de email", render_template('email/activate.html', confirm_url=confirm_url)) self.assertEqual(result_expected, result)
def test_invalid_token_confirmation_email(self): """ Quando: - current_app.config["SECRET_KEY"] não tem valor Verifcamos: - Que ocorra uma exeção quando é criado um token com get_timed_serializer ao enviar a notificação de confirmação de email. """ recipient_email = '*****@*****.**' with patch('webapp.notifications.utils') as mock: mock.get_timed_serializer.return_value = URLSafeTimedSerializer( None) expected = "Token inválido" result = send_confirmation_email(recipient_email) self.assertIn(expected, str(result))
def test_invalid_token_confirmation_email(self): """ Quando: - current_app.config["SECRET_KEY"] não tem valor Verifcamos: - Que ocorra uma exeção qunado é criado um token com get_timed_serializer ao enviar a notificação de confirmação de email. """ recipient_email = '*****@*****.**' with patch('webapp.utils.get_timed_serializer') as mock: mock.return_value = URLSafeTimedSerializer(None) expected = None try: ts = utils.get_timed_serializer() ts.dumps(recipient_email) except Exception, e: expected = (False, 'Invalid Token: %s' % str(e)) result = send_confirmation_email(recipient_email) self.assertEqual(expected, result)