Esempio n. 1
0
    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)
Esempio n. 3
0
 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'])
Esempio n. 4
0
    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'])
Esempio n. 5
0
    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'])
Esempio n. 6
0
def delete_db_dir(a_db_dir):
    """
       delete the db directory
    """
    gmvault_utils.delete_all_under(a_db_dir, delete_top_dir=True)
Esempio n. 7
0
def delete_db_dir(a_db_dir):
    """
       delete the db directory
    """
    gmvault_utils.delete_all_under(a_db_dir, delete_top_dir = True)