示例#1
0
class MessageCollectionTestCase(IMAP4HelperMixin, unittest.TestCase):
    """
    Tests for the MessageCollection class
    """
    def setUp(self):
        """
        setUp method for each test
        We override mixin method since we are only testing
        MessageCollection interface in this particular TestCase
        """
        self.messages = MessageCollection("testmbox", self._soledad._db)

    def tearDown(self):
        """
        tearDown method for each test
        Delete the message collection
        """
        del self.messages

    def testEmptyMessage(self):
        """
        Test empty message and collection
        """
        em = self.messages._get_empty_msg()
        self.assertEqual(
            em,
            {
                "date": '',
                "flags": [],
                "headers": {},
                "mbox": "inbox",
                "raw": "",
                "recent": True,
                "seen": False,
                "subject": "",
                "type": "msg",
                "uid": 1,
            })
        self.assertEqual(self.messages.count(), 0)

    def testFilterByMailbox(self):
        """
        Test that queries filter by selected mailbox
        """
        mc = self.messages
        mc.add_msg('', subject="test1")
        mc.add_msg('', subject="test2")
        mc.add_msg('', subject="test3")
        self.assertEqual(self.messages.count(), 3)

        newmsg = mc._get_empty_msg()
        newmsg['mailbox'] = "mailbox/foo"
        newmsg['subject'] = "test another mailbox"
        mc._soledad.create_doc(newmsg)
        self.assertEqual(mc.count(), 3)
        self.assertEqual(
            len(mc._soledad.get_from_index(mc.TYPE_IDX, "*")), 4)
示例#2
0
 def setUp(self):
     """
     setUp method for each test
     We override mixin method since we are only testing
     MessageCollection interface in this particular TestCase
     """
     self.messages = MessageCollection("testmbox", self._soledad._db)