Example #1
0
 def test_email_only_in_basket(self, mock_look_for_user, mock_send):
     """Email known in basket, not in ET"""
     # Should log error and return
     Subscriber.objects.create(email=self.email)
     mock_look_for_user.return_value = None
     send_recovery_message_task(self.email)
     self.assertFalse(mock_send.called)
Example #2
0
 def test_email_only_in_basket(self, mock_look_for_user, mock_send):
     """Email known in basket, not in ET"""
     # Should log error and return
     Subscriber.objects.create(email=self.email)
     mock_look_for_user.return_value = None
     send_recovery_message_task(self.email)
     self.assertFalse(mock_send.called)
Example #3
0
    def test_et_error(self, mock_look_for_user, mock_send):
        """Error talking to Basket. I'm shocked, SHOCKED!"""
        mock_look_for_user.side_effect = NewsletterException('ET has failed to achieve.')

        with self.assertRaises(NewsletterException):
            send_recovery_message_task(self.email)

        self.assertFalse(mock_send.called)
Example #4
0
    def test_et_error(self, mock_look_for_user, mock_send):
        """Error talking to Basket. I'm shocked, SHOCKED!"""
        mock_look_for_user.side_effect = NewsletterException(
            'ET has failed to achieve.')

        with self.assertRaises(NewsletterException):
            send_recovery_message_task(self.email)

        self.assertFalse(mock_send.called)
Example #5
0
 def test_lang_not_available(self, mock_look_for_user, mock_send):
     """Language not available for recover message"""
     # Should trigger message in english if not available in user lang
     format = 'T'
     mock_look_for_user.return_value = {
         'status': 'ok',
         'email': self.email,
         'format': format,
         'country': '',
         'lang': 'fr',
         'token': 'USERTOKEN',
         'newsletters': [],
     }
     send_recovery_message_task(self.email)
     message_id = mogrify_message_id(RECOVERY_MESSAGE_ID, 'en', format)
     mock_send.delay.assert_called_with(message_id, self.email,
                                        'USERTOKEN', format)
Example #6
0
 def test_email_in_et(self, mock_look_for_user, mock_send):
     """Email not in basket but in ET"""
     # Should trigger message. We can follow the user's format and lang pref
     format = 'T'
     lang = 'fr'
     mock_look_for_user.return_value = {
         'status': 'ok',
         'email': self.email,
         'format': format,
         'country': '',
         'lang': lang,
         'token': 'USERTOKEN',
         'newsletters': [],
     }
     send_recovery_message_task(self.email)
     message_id = mogrify_message_id(RECOVERY_MESSAGE_ID, lang, format)
     mock_send.delay.assert_called_with(message_id, self.email,
                                        'USERTOKEN', format)
Example #7
0
 def test_email_in_both(self, mock_look_for_user, mock_send):
     """Email known in both basket and ET"""
     # We can follow the user's format and lang pref
     subscriber = Subscriber.objects.create(email=self.email)
     format = 'T'
     lang = 'fr'
     mock_look_for_user.return_value = {
         'status': 'ok',
         'email': self.email,
         'format': format,
         'country': '',
         'lang': lang,
         'token': subscriber.token,
         'newsletters': [],
     }
     send_recovery_message_task(self.email)
     message_id = mogrify_message_id(RECOVERY_MESSAGE_ID, lang, format)
     mock_send.delay.assert_called_with(message_id, self.email,
                                        subscriber.token, format)
Example #8
0
 def test_email_in_both(self, mock_look_for_user, mock_send):
     """Email known in both basket and ET"""
     # We can follow the user's format and lang pref
     subscriber = Subscriber.objects.create(email=self.email)
     format = 'T'
     lang = 'fr'
     mock_look_for_user.return_value = {
         'status': 'ok',
         'email': self.email,
         'format': format,
         'country': '',
         'lang': lang,
         'token': subscriber.token,
         'newsletters': [],
     }
     send_recovery_message_task(self.email)
     message_id = mogrify_message_id(RECOVERY_MESSAGE_ID, lang, format)
     mock_send.assert_called_with(message_id, self.email, subscriber.token,
                                  format)
Example #9
0
 def test_lang_not_available(self, mock_look_for_user, mock_send):
     """Language not available for recover message"""
     # Should trigger message in english if not available in user lang
     format = 'T'
     mock_look_for_user.return_value = {
         'id': 'SFDCID',
         'status': 'ok',
         'email': self.email,
         'format': format,
         'country': '',
         'lang': 'fr',
         'token': 'USERTOKEN',
         'newsletters': [],
     }
     send_recovery_message_task(self.email)
     message_id = mogrify_message_id(RECOVERY_MESSAGE_ID, 'en', format)
     mock_send.delay.assert_called_with(message_id,
                                        self.email,
                                        'SFDCID',
                                        token='USERTOKEN')
Example #10
0
 def test_email_only_in_et(self, mock_look_for_user, mock_send):
     """Email not in basket but in ET"""
     # Should create new subscriber with ET data, then trigger message
     # We can follow the user's format and lang pref
     format = 'T'
     lang = 'fr'
     mock_look_for_user.return_value = {
         'status': 'ok',
         'email': self.email,
         'format': format,
         'country': '',
         'lang': lang,
         'token': 'USERTOKEN',
         'newsletters': [],
     }
     send_recovery_message_task(self.email)
     subscriber = Subscriber.objects.get(email=self.email)
     self.assertEqual('USERTOKEN', subscriber.token)
     message_id = mogrify_message_id(RECOVERY_MESSAGE_ID, lang, format)
     mock_send.delay.assert_called_with(message_id, self.email,
                                        subscriber.token, format)
Example #11
0
 def test_email_in_et(self, mock_look_for_user, mock_send):
     """Email not in basket but in ET"""
     # Should trigger message. We can follow the user's format and lang pref
     format = 'T'
     lang = 'fr'
     mock_look_for_user.return_value = {
         'id': 'SFDCID',
         'status': 'ok',
         'email': self.email,
         'format': format,
         'country': '',
         'lang': lang,
         'token': 'USERTOKEN',
         'newsletters': [],
     }
     send_recovery_message_task(self.email)
     message_id = mogrify_message_id(RECOVERY_MESSAGE_ID, lang, format)
     mock_send.delay.assert_called_with(message_id,
                                        self.email,
                                        'SFDCID',
                                        token='USERTOKEN')
Example #12
0
 def test_email_only_in_et(self, mock_look_for_user, mock_send):
     """Email not in basket but in ET"""
     # Should create new subscriber with ET data, then trigger message
     # We can follow the user's format and lang pref
     format = 'T'
     lang = 'fr'
     mock_look_for_user.return_value = {
         'status': 'ok',
         'email': self.email,
         'format': format,
         'country': '',
         'lang': lang,
         'token': 'USERTOKEN',
         'newsletters': [],
     }
     send_recovery_message_task(self.email)
     subscriber = Subscriber.objects.get(email=self.email)
     self.assertEqual('USERTOKEN', subscriber.token)
     message_id = mogrify_message_id(RECOVERY_MESSAGE_ID, lang, format)
     mock_send.assert_called_with(message_id, self.email, subscriber.token,
                                  format)
Example #13
0
 def test_unknown_email(self, mock_look_for_user, mock_send):
     """Email not in basket or ET"""
     # Should log error and return
     mock_look_for_user.return_value = None
     send_recovery_message_task(self.email)
     self.assertFalse(mock_send.called)
Example #14
0
 def test_unknown_email(self, mock_look_for_user, mock_send):
     """Email not in basket or ET"""
     # Should log error and return
     mock_look_for_user.return_value = None
     send_recovery_message_task(self.email)
     self.assertFalse(mock_send.called)