def test_valid(self): with app.app_context(): # create some files backup = Backup() date_ids = [ '20110824045557', '20100106120931', '20090728192328', '20100112115416' ] class_names = ['Post', 'User'] for date_id in date_ids: for class_name in class_names: name = backup.get_name(date_id, class_name) backup.create_file(name, '') # restart Backup() and assert backup = Backup() self.assertTrue(backup.valid('20110824045557')) self.assertFalse(backup.valid('20110824045--')) # clean up to avoid messing up other tests for name in backup.files: backup.delete_file(name) backup = Backup() self.assertEqual(len(backup.files), 0)
def test_autoclean(self): with app.app_context(): # create fake backup dir backup = Backup() date_ids = [ '20110824045557', '20100106120931', '20090728192328', '20070611074712', '20130729044443', '20070611090332', '20090927181422', '20060505063150', '20090608052756', '20050413201344', '20111015194547', '20090711221957', '20140425202739', '20130808133229', '20120111210958', '20120419224811', '20060519170013', '20090111042034', '20100112115416' ] class_names = ['Post', 'User'] for date_id in date_ids: for class_name in class_names: name = backup.get_name(date_id, class_name) backup.create_file(name, '') # assert files were created backup = Backup() expected_count = len(class_names) * len(date_ids) self.assertEqual(len(backup.files), expected_count) # run auto clean os.system('python tests/app_ftp.py alchemydumps autoclean -y') # assert some files were deleted backup = Backup() white_list = [ '20140425202739', '20130808133229', '20120419224811', '20111015194547', '20100112115416', '20090927181422', '20070611090332', '20060519170013', '20050413201344' ] expected_count = len(class_names) * len(white_list) self.assertEqual(len(backup.files), expected_count) # assert only white listed files exists, # and only black listed were deleted self.assertEqual(sorted(white_list), sorted(backup.get_ids())) # clean up to avoid messing up other tests for name in backup.files: backup.delete_file(name) backup = Backup() self.assertEqual(len(backup.files), 0)
def test_autoclean(self): with app.app_context(): # create fake backup dir backup = Backup() date_ids = [ '20110824045557', '20100106120931', '20090728192328', '20070611074712', '20130729044443', '20070611090332', '20090927181422', '20060505063150', '20090608052756', '20050413201344', '20111015194547', '20090711221957', '20140425202739', '20130808133229', '20120111210958', '20120419224811', '20060519170013', '20090111042034', '20100112115416' ] class_names = ['Post', 'User', 'SomeControl', 'Comments'] for date_id in date_ids: for class_name in class_names: name = backup.get_name(date_id, class_name) backup.create_file(name, '') # assert files were created backup = Backup() expected_count = len(class_names) * len(date_ids) self.assertEqual(len(backup.files), expected_count) # run auto clean os.system('python tests/app_ftp.py alchemydumps autoclean -y') # assert some files were deleted backup = Backup() white_list = [ '20140425202739', '20130808133229', '20120419224811', '20111015194547', '20100112115416', '20090927181422', '20070611090332', '20060519170013', '20050413201344' ] expected_count = len(class_names) * len(white_list) self.assertEqual(len(backup.files), expected_count) # assert only white listed files exists, # and only black listed were deleted self.assertEqual(sorted(white_list), sorted(backup.get_ids())) # clean up to avoid messing up other tests for name in backup.files: backup.delete_file(name) backup = Backup() self.assertEqual(len(backup.files), 0)