def test_backup_and_restore(self): """ Backup from gmvault_test and restore """ gsync_credential = {'type': 'passwd', 'value': self.gsync_passwd} gmvault_test_credential = { 'type': 'passwd', 'value': self.gmvault_test_passwd } test_utils.clean_mailbox(self.gsync_login, gsync_credential) gmvault_test_db_dir = "/tmp/backup-restore" backuper = gmvault.GMVaulter(gmvault_test_db_dir, 'imap.gmail.com', 993, \ self.gmvault_test_login, gmvault_test_credential, \ read_only_access = False) backuper.sync({'mode': 'full', 'type': 'imap', 'req': 'ALL'}) #check that we have x emails in the database restorer = gmvault.GMVaulter(gmvault_test_db_dir, 'imap.gmail.com', 993, \ self.gsync_login, gsync_credential, \ read_only_access = False) restorer.restore() #restore all emails from this essential-db test_utils.check_remote_mailbox_identical_to_local(self, restorer) test_utils.diff_online_mailboxes(backuper, restorer) gmvault_utils.delete_all_under(gmvault_test_db_dir, delete_top_dir=True)
def test_backup_and_restore(self): """backup from gmvault_test and restore""" gsync_credential = { 'type' : 'passwd', 'value': self.gsync_passwd } gmvault_test_credential = { 'type' : 'passwd', 'value': self.gmvault_test_passwd } test_utils.clean_mailbox(self.gsync_login, gsync_credential) gmvault_test_db_dir = "/tmp/backup-restore" backuper = gmvault.GMVaulter(gmvault_test_db_dir, 'imap.gmail.com', 993, \ self.gmvault_test_login, gmvault_test_credential, \ read_only_access = False) backuper.sync({ 'mode': 'full', 'type': 'imap', 'req': 'ALL' }) #check that we have x emails in the database restorer = gmvault.GMVaulter(gmvault_test_db_dir, 'imap.gmail.com', 993, \ self.gsync_login, gsync_credential, \ read_only_access = False) restorer.restore() #restore all emails from this essential-db test_utils.check_remote_mailbox_identical_to_local(self, restorer) test_utils.diff_online_mailboxes(backuper, restorer) gmvault_utils.delete_all_under(gmvault_test_db_dir, delete_top_dir = True)
def ztest_gmvault_retrieve_email_store_and_read(self): #pylint:disable-msg=C0103 """ Retrieve an email store it on disk and read it """ storage_dir = '/tmp/gmail_bk' gmvault_utils.delete_all_under(storage_dir) gimap = imap_utils.GIMAPFetcher('imap.gmail.com', 993, self.login, self.passwd) gstorer = gmvault.GmailStorer(storage_dir) gimap.connect() criteria = ['Before 1-Oct-2006'] #criteria = ['ALL'] ids = gimap.search(criteria) the_id = ids[124] res = gimap.fetch(the_id, gimap.GET_ALL_INFO) gm_id = gstorer.bury_email(res[the_id]) metadata, data = gstorer.unbury_email(gm_id) self.assertEquals(res[the_id][gimap.GMAIL_ID], metadata['gm_id']) self.assertEquals(res[the_id][gimap.EMAIL_BODY], data) self.assertEquals(res[the_id][gimap.GMAIL_THREAD_ID], metadata['thread_ids']) labels = [] for label in res[the_id][gimap.GMAIL_LABELS]: labels.append(label) self.assertEquals(labels, metadata['labels'])
def ztest_gmvault_store_gzip_email_and_read( self): #pylint:disable-msg=C0103 """ Retrieve emails store them it on disk and read it """ storage_dir = '/tmp/gmail_bk' gmvault_utils.delete_all_under(storage_dir) gimap = imap_utils.GIMAPFetcher('imap.gmail.com', 993, self.login, self.passwd) gstorer = gmvault.GmailStorer(storage_dir) gimap.connect() criteria = ['Before 1-Oct-2006'] #criteria = ['ALL'] ids = gimap.search(criteria) #get 30 emails for index in range(9, 20): print("retrieve email index %d\n" % (index)) the_id = ids[index] res = gimap.fetch(the_id, gimap.GET_ALL_INFO) gm_id = gstorer.bury_email(res[the_id], compress=True) print("restore email index %d\n" % (index)) metadata, data = gstorer.unbury_email(gm_id) self.assertEquals(res[the_id][gimap.GMAIL_ID], metadata['gm_id']) self.assertEquals(res[the_id][gimap.EMAIL_BODY], data) self.assertEquals(res[the_id][gimap.GMAIL_THREAD_ID], metadata['thread_ids']) labels = [] for label in res[the_id][gimap.GMAIL_LABELS]: labels.append(label) self.assertEquals(labels, metadata['labels'])
def ztest_gmvault_compress_retrieve_email_store_and_read( self): #pylint:disable-msg=C0103 """ Activate compression and retrieve an email store it on disk and read it """ storage_dir = '/tmp/gmail_bk' gmvault_utils.delete_all_under(storage_dir) gimap = imap_utils.GIMAPFetcher('imap.gmail.com', 993, self.login, self.passwd) gstorer = gmvault.GmailStorer(storage_dir) gimap.connect() gimap.enable_compression() criteria = ['Before 1-Oct-2006'] #criteria = ['ALL'] ids = gimap.search(criteria) the_id = ids[124] res = gimap.fetch(the_id, gimap.GET_ALL_INFO) gm_id = gstorer.bury_email(res[the_id]) metadata, data = gstorer.unbury_email(gm_id) self.assertEquals(res[the_id][gimap.GMAIL_ID], metadata['gm_id']) self.assertEquals(res[the_id][gimap.EMAIL_BODY], data) self.assertEquals(res[the_id][gimap.GMAIL_THREAD_ID], metadata['thread_ids']) labels = [] for label in res[the_id][gimap.GMAIL_LABELS]: labels.append(label) self.assertEquals(labels, metadata['labels'])
def delete_db_dir(a_db_dir): """ delete the db directory """ gmvault_utils.delete_all_under(a_db_dir, delete_top_dir=True)
def delete_db_dir(a_db_dir): """ delete the db directory """ gmvault_utils.delete_all_under(a_db_dir, delete_top_dir = True)