Beispiel #1
0
    def test_flag_setting(self):
        # import here, that way we don't have to fiddle with sys.path in the global scope
        from router.app.server import process_message

        user = factories.UserFactory()
        inbox = factories.InboxFactory(user=user)

        with mock.patch("router.app.server.make_email") as mock_make_email:
            process_message(None, inbox.inbox, inbox.domain.domain)
        self.assertTrue(mock_make_email.called)

        user = get_user_model().objects.get(id=user.id)
        profile = user.inboxenprofile
        inbox = models.Inbox.objects.get(id=inbox.id)

        self.assertTrue(inbox.new)
        self.assertTrue(profile.unified_has_new_messages)

        # reset some bools
        inbox.new = False
        inbox.exclude_from_unified = True
        inbox.save(update_fields=["new", "exclude_from_unified"])
        profile.unified_has_new_messages = False
        profile.save(update_fields=["unified_has_new_messages"])

        with mock.patch("router.app.server.make_email") as mock_make_email:
            process_message(None, inbox.inbox, inbox.domain.domain)
        self.assertTrue(mock_make_email.called)

        user = get_user_model().objects.get(id=user.id)
        profile = user.inboxenprofile
        inbox = models.Inbox.objects.get(id=inbox.id)

        self.assertTrue(inbox.new)
        self.assertFalse(profile.unified_has_new_messages)
Beispiel #2
0
    def test_flag_setting(self):
        # import here, that way we don't have to fiddle with sys.path in the global scope
        from router.app.server import process_message

        user = factories.UserFactory()
        inbox = factories.InboxFactory(user=user)

        with mock.patch("router.app.server.make_email") as mock_make_email:
            process_message(None, inbox.inbox, inbox.domain.domain)
        self.assertTrue(mock_make_email.called)

        user = get_user_model().objects.get(id=user.id)
        profile = user.userprofile
        inbox = models.Inbox.objects.get(id=inbox.id)

        self.assertTrue(inbox.flags.new)
        self.assertTrue(profile.flags.unified_has_new_messages)

        # reset some flags
        inbox.flags.new = False
        inbox.flags.exclude_from_unified = True
        inbox.save(update_fields=["flags"])
        profile.flags.unified_has_new_messages = False
        profile.save(update_fields=["flags"])

        with mock.patch("router.app.server.make_email") as mock_make_email:
            process_message(None, inbox.inbox, inbox.domain.domain)
        self.assertTrue(mock_make_email.called)

        user = get_user_model().objects.get(id=user.id)
        profile = user.userprofile
        inbox = models.Inbox.objects.get(id=inbox.id)

        self.assertTrue(inbox.flags.new)
        self.assertFalse(profile.flags.unified_has_new_messages)
Beispiel #3
0
    def test_exceptions(self):
        # import here, that way we don't have to fiddle with sys.path in the global scope
        from router.app.server import process_message

        with self.assertRaises(SMTPError) as error:
            process_message(None, None, None)
        self.assertEqual(error.exception.code, 550)

        with self.assertRaises(SMTPError) as error, \
                mock.patch.object(models.Inbox.objects, "filter", side_effect=DatabaseError):
            process_message(None, None, None)
        self.assertEqual(error.exception.code, 451)
Beispiel #4
0
    def test_exceptions(self):
        # import here, that way we don't have to fiddle with sys.path in the global scope
        from router.app.server import process_message

        with self.assertRaises(SMTPError) as error:
            process_message(None, None, None)
        self.assertEqual(error.exception.code, 550)

        with self.assertRaises(SMTPError) as error, \
                mock.patch.object(models.Inbox.objects, "filter", side_effect=DatabaseError):
            process_message(None, None, None)
        self.assertEqual(error.exception.code, 451)