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)
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)