Exemplo n.º 1
0
 def test_send_email(self, instance_subject, on_prod, on_qa, on_dev,
                     on_local):
     """Test basic email function."""
     constants.ON_PROD = on_prod
     constants.ON_QA = on_qa
     constants.ON_DEV = on_dev
     constants.ON_LOCAL = on_local
     with mock.patch.object(mail, 'send_mail') as mock_gae_sendmail:
         send_email._send_email(**self.default_kwargs)
         self.default_kwargs['subject'] = (instance_subject +
                                           self.default_kwargs['subject'])
         mock_gae_sendmail.assert_called_once_with(**self.default_kwargs)
Exemplo n.º 2
0
    def test_send_email(self, mock_logerror, mock_logdebug, mock_gae_sendmail):
        """Test basic email function."""

        # Dev, so we only log.
        send_email.constants.ON_PROD = False
        send_email._send_email(False, **self.default_kwargs)
        assert mock_logdebug.called
        assert not mock_gae_sendmail.called

        # Dev but force send.
        mock_logdebug.reset_mock()
        send_email.constants.ON_PROD = False
        send_email._send_email(True, **self.default_kwargs)
        assert not mock_logdebug.called
        assert mock_gae_sendmail.called

        # Kneel before Prod.
        mock_logdebug.reset_mock()
        mock_gae_sendmail.reset_mock()
        send_email.constants.ON_PROD = True
        send_email._send_email(True, **self.default_kwargs)
        assert mock_gae_sendmail.called

        # Exception raised by GAE's send_mail function.
        send_email.constants.ON_PROD = True
        mock_gae_sendmail.side_effect = send_email.mail.InvalidEmailError
        send_email._send_email(True, **self.default_kwargs)
        assert mock_logerror.called
Exemplo n.º 3
0
 def test_send_email(self, instance_subject, on_prod, on_qa, on_dev,
                     on_local):
     """Test basic email function."""
     constants.ON_PROD = on_prod
     constants.ON_QA = on_qa
     constants.ON_DEV = on_dev
     constants.ON_LOCAL = on_local
     with mock.patch.object(taskqueue, 'add') as mock_taskqueue_add:
         send_email._send_email(**self.default_kwargs)
         self.default_kwargs['subject'] = (instance_subject +
                                           self.default_kwargs['subject'])
         mock_taskqueue_add.assert_called_once_with(
             queue_name='send-email',
             params=self.default_kwargs,
             target='default')
Exemplo n.º 4
0
    def test_force_send(self, mock_gae_sendmail):
        """Tests Dev/Local/QA modification of subject field."""
        send_email.constants.ON_DEV = True
        send_email.constants.ON_LOCAL = False
        send_email.constants.ON_PROD = False
        send_email.constants.ON_QA = False

        # Dev
        send_email._send_email(force_send=True, **self.default_kwargs)

        # Local
        send_email.constants.ON_DEV = False
        send_email.constants.ON_LOCAL = True
        send_email._send_email(force_send=True, **self.default_kwargs)

        # QA
        send_email.constants.ON_LOCAL = False
        send_email.constants.ON_QA = True
        send_email._send_email(force_send=True, **self.default_kwargs)

        expected_calls = [
            mock.call(html=self.default_kwargs['html'],
                      body=self.default_kwargs['body'],
                      to=self.default_kwargs['to'],
                      sender='noreply@{}'.format(loanertest.USER_DOMAIN),
                      subject='[dev] You are for sure a loaner borrower'),
            mock.call(html=self.default_kwargs['html'],
                      body=self.default_kwargs['body'],
                      to=self.default_kwargs['to'],
                      sender='noreply@{}'.format(loanertest.USER_DOMAIN),
                      subject='[local] You are for sure a loaner borrower'),
            mock.call(html=self.default_kwargs['html'],
                      body=self.default_kwargs['body'],
                      to=self.default_kwargs['to'],
                      sender='noreply@{}'.format(loanertest.USER_DOMAIN),
                      subject='[qa] You are for sure a loaner borrower')
        ]

        mock_gae_sendmail.assert_has_calls(expected_calls)
Exemplo n.º 5
0
 def test_send_email_error(self, mock_logerror, mock_gae_sendmail):
     send_email.constants.ON_PROD = True
     send_email._send_email(**self.default_kwargs)
     assert mock_logerror.called