From f22fe4decd9a70a2eb826ecdd14f9d1bb3b4e394 Mon Sep 17 00:00:00 2001 From: Nikolaus Schulz Date: Fri, 30 Jul 2010 19:13:14 +0200 Subject: Detect and never archive IMAP server pseudo mbox messages IMAP servers (Dovecot and UW-IMAP at least) may store mailbox meta data for mboxes in a pseudo message. Such messages are now detected and never archived. This commit includes a test case in the test suite. --- test_archivemail | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'test_archivemail') diff --git a/test_archivemail b/test_archivemail index 2d63d78..fda2d63 100755 --- a/test_archivemail +++ b/test_archivemail @@ -1103,6 +1103,28 @@ class TestArchiveSize(unittest.TestCase): archivemail.options.min_size = None +class TestXIMAPMessage(TestArchive): + """Test if IMAP pseudo messages in mboxes are properly handled.""" + def setUp(self): + super(TestXIMAPMessage, self).setUp() + archivemail.options.quiet = True + + def testXIMAPMbox(self): + """IMAP pseudo messages in an mbox are always preserved.""" + self.good_mbox = make_mbox(hours_old=181*24, headers={'X-IMAP': 'dummytext'}, + messages=1) + self.good_archive = make_mbox(hours_old=181*24, messages=3) + self.mbox = tempfile.mkstemp()[-1] + shutil.copyfile(self.good_mbox, self.mbox) + append_file(self.good_archive, self.mbox) + archivemail.archive(self.mbox) + self.verify() + + def tearDown(self): + super(TestXIMAPMessage, self).tearDown() + archivemail.options.quiet = False + + ############# Test archiving maildirs ############### class TestArchiveMailboxdir(TestCaseInTempdir): -- cgit v1.2.3