Beispiel #1
0
 def test_models_reload(self):
     #create more widgets
     create_widgets(self.num_widgets)
     
     #test reload from initial backup
     self.bo.reload(1)
     self.failUnlessEqual(BackupTestWidget.objects.count(), self.num_widgets)
Beispiel #2
0
 def test_views_reload_archive(self):
     #rest reload archive
     response = self.client.get(reverse('admin:vz_backup_reload_archive', args=('1', )))
     self.failUnlessEqual(response.status_code, 200)
     self.failUnlessEqual(BackupTestWidget.objects.count(), self.num_widgets)
     create_widgets(self.num_widgets)
     response = self.client.post(reverse('admin:vz_backup_reload_archive', args=('1', )))
     self.failUnlessEqual(BackupTestWidget.objects.count(), self.num_widgets)
     self.failUnlessEqual(response.status_code, 302)
Beispiel #3
0
    def test_management_backup_all(self): 
        #test backup all
        create_widgets(1)
        call_command('backup_all')
        self.failUnlessEqual(self.bo.archives.count(), 2)

        #test backup all with no backup objects included
        self. bo.include = False
        self.bo.save()
        create_widgets(1)
        call_command('backup_all')
        self.failUnlessEqual(self.bo.archives.count(), 2)
Beispiel #4
0
    def setUp(self):
        #create super user
        self.password = '******'
        self.user1 = User.objects.create_user('testUser1', '*****@*****.**', self.password)
        self.user1.is_superuser = True
        self.user1.save()

        #create widgets
        self.num_widgets = 3
        create_widgets(self.num_widgets)

        #login user1
        self.client.login(username=self.user1.username, password=self.password)

        #add auth app to backups
        call_command('add_to_backups', 'vz_backup.tests.testwidgets')

        #get backup object
        self.bo = BackupObject.objects.get(id__exact=1)
Beispiel #5
0
    def test_models_backup(self):
        #delete initial backup archive
        ba = self.bo.archives.delete()
        
        #test include switch
        self.bo.include = False
        self.bo.save()
        create_widgets(1)
        backup_all()
        self.failUnlessEqual(self.bo.archives.count(), 0)
        self.bo.include = True
        self.bo.save()
        create_widgets(1)
        backup_all()
        self.failUnlessEqual(self.bo.archives.count(), 1)
        self.bo.archives.delete()

        #test backup of auth app with no compression, default format
        create_widgets(1)
        self.bo.backup()
        self.assertEqual(self.bo.archives.count(), 1)
        ba = self.bo.last_archive
        self.failUnlessEqual('testwidgets', self.bo.__unicode__())
        ba.delete()

        #test backup of auth app with bz2 compression, default format
        self.bo.compress = 'bz2'
        self.bo.save()
        create_widgets(1)
        self.bo.backup()
        self.assertEqual(self.bo.archives.count(), 1)
        ba = self.bo.last_archive
        ba.delete()

        #test backup of auth app with gz compression, default format
        self.bo.compress = 'gz'
        self.bo.save()
        create_widgets(1)
        self.bo.backup()
        self.assertEqual(self.bo.archives.count(), 1)
        ba = self.bo.last_archive
Beispiel #6
0
    def test_models_prune(self):
        #turn on auto prune
        self.bo.auto_prune = True
        self.bo.save()

        #mark initial backup archive as "keep"
        ba1 = self.bo.last_archive
        ba1.keep = True
        ba1.save()

        #test prune_by as "count"
        self.bo.prune_by = 'count'
        self.bo.prune_value = 1
        self.bo.save()
        create_widgets(1)
        self.bo.backup()
        ba2 = self.bo.last_archive

        #test for two backups, intial (keep) + ba2
        self.assertEqual(self.bo.archives.count(), 2)
        create_widgets(1)
        self.bo.backup()

        #test for two backups, initial (keep) + last backup
        self.assertEqual(self.bo.archives.count(), 2)

        #ensure ba2 was deleted
        ba3 = self.bo.unkept_archives[0]
        self.assertNotEqual(ba2.id, ba3.id)

        #test prune_by as "size"
        self.bo.prune_by = 'none'
        self.bo.save()
        #create a backup to measure
        create_widgets(1)
        self.bo.backup()
        ba4 = self.bo.unkept_archives[0]
        #set prune by to measured sizve
        self.bo.prune_by = 'size'
        self.bo.prune_value = ba4.size / 1000.0
        self.bo.save()
        #delete the known backup archive
        ba4.delete()
        #create a backup with a size we know
        self.bo.backup()
        ba4 = self.bo.unkept_archives[0]

        #ensure ba3 was deleted
        self.assertNotEqual(ba3.id, ba4.id)

        #test pure_by as "time"
        self.bo.prune_by = 'time'
        self.bo.prune_value = 1
        self.bo.save()

        #change ba4's created to trigger prune
        delta = datetime.timedelta(days=2)
        ba4.created = ba4.created - delta
        ba4.save()
        ba1.created = ba1.created - delta
        ba1.save()
        create_widgets(1)
        self.bo.backup()
        self.assertEqual(self.bo.archives.count(), 2)
        ba5 = self.bo.last_archive
        self.assertNotEqual(ba4.id, ba5.id)

        #test prune_by as "none"
        self.bo.prune_by = 'none'
        self.bo.save()
        create_widgets(1)
        self.bo.backup()
        self.assertEqual(self.bo.archives.count(), 3)
        self.bo.backup()
        self.assertEqual(self.bo.archives.count(), 3)