def test_new_tags_are_added_to_mailbox(self): leap_flags = ['\\Deleted', 'tag_custom_one', 'tag_custom_two'] leap_mailbox_mock = test_helper.leap_mailbox(leap_flags=leap_flags) mailbox = PixelatedMailbox(leap_mailbox_mock) tags = [Tag('custom_one'), Tag('custom_three')] mailbox.update_tags(tags) expected = set(('\\Deleted', 'tag_custom_one', 'tag_custom_two', 'tag_custom_three')) actual_args = set(leap_mailbox_mock.setFlags.call_args[0][0]) self.assertEquals(expected, actual_args)
class PixelatedMailboxTest(unittest.TestCase): def setUp(self): self.tag_service = mock() self.querier = mock() self.mailbox = PixelatedMailbox('INBOX', self.querier, tag_service=self.tag_service) def test_remove_message_from_mailbox(self): mail = PixelatedMail.from_soledad(*test_helper.leap_mail(), soledad_querier=self.querier) when(self.querier).mail(1).thenReturn(mail) self.mailbox.remove(1) verify(self.querier).remove_mail(mail)
def mails(self, query): if not query: return self.mailbox.mails() mails = [] if query['tags']: tags = [Tag(tag) for tag in query['tags']] for leap_mailbox_name in self.account.mailboxes: mailbox = PixelatedMailbox(self.account.getMailbox(leap_mailbox_name)) if len(mailbox.all_tags().intersection(tags)): # mailbox has at least one mail with tag for mail in mailbox.mails(): if len(mail.tags.intersection(tags)) > 0: mails.append(mail) return mails
def mailboxes(self): return [PixelatedMailbox.create(leap_mailbox_name) for leap_mailbox_name in self.account.mailboxes]
def _create_or_get(self, mailbox_name): mailbox_name = mailbox_name.upper() if mailbox_name not in self.account.mailboxes: self.account.addMailbox(mailbox_name) return PixelatedMailbox.create(mailbox_name)
def setUp(self): self.tag_service = mock() self.querier = mock() self.mailbox = PixelatedMailbox('INBOX', self.querier, tag_service=self.tag_service)
def test_retrieve_all_tags_from_mailbox(self): leap_flags = ['\\Deleted', '\\Draft', '\\Recent', 'tag_custom', 'should_ignore_all_from_here', 'List'] mailbox = PixelatedMailbox(test_helper.leap_mailbox(leap_flags=leap_flags)) self.assertEquals(set([Tag('trash'), Tag('inbox'), Tag('drafts'), Tag('custom')]), mailbox.all_tags())