def test_backup_file(self, tmpdir): backup_dir, files_dir = self.create_dirs(tmpdir) storage = local.LocalStorage(backup_dir) builder = tar.TarCommandBuilder(commons.tar_path(), "file_1") os.chdir(files_dir) storage.backup(files_dir + "/file_1", "file_backup", builder) for path in os.listdir(files_dir): os.remove(files_dir + "/" + path) assert not os.listdir(files_dir) utils.create_dir(files_dir) backup = storage.get_backups()[0] builder = tar.TarCommandRestoreBuilder(commons.tar_path(), files_dir) storage.restore(backup, files_dir, builder, 0) files = os.listdir(files_dir) assert len(files) == 1
def test_get_backups(self, tmpdir): backup_dir, files_dir = self.create_dirs(tmpdir) storage = local.LocalStorage(backup_dir) builder = tar.TarCommandBuilder(commons.tar_path(), ".") storage.backup(files_dir, "file_backup", builder) backups = storage.get_backups() assert len(backups) == 1
def test_incremental_backup(self, tmpdir): backup_dir, files_dir = self.create_dirs(tmpdir) storage = local.LocalStorage(backup_dir) builder = tar.TarCommandBuilder(commons.tar_path(), ".") storage.backup(files_dir, "file_backup", builder) backups = storage.get_backups() assert len(backups) == 1 backup = backups[0] self.create_content(files_dir, "file_2", "foo\n") storage.backup(files_dir, "file_backup", builder, backup)
def test_incremental_restore(self, tmpdir): backup_dir, files_dir = self.create_dirs(tmpdir) storage = local.LocalStorage(backup_dir) builder = tar.TarCommandBuilder(commons.tar_path(), ".") os.chdir(files_dir) storage.backup(files_dir, "file_backup", builder) backups = storage.get_backups() assert len(backups) == 1 backup = backups[0] self.create_content(files_dir, "file_2", "foo\n") storage.backup(files_dir, "file_backup", builder, backup) for path in os.listdir(files_dir): os.remove(files_dir + "/" + path) assert not os.listdir(files_dir) utils.create_dir(files_dir) backup = storage.get_backups()[0] builder = tar.TarCommandRestoreBuilder(commons.tar_path(), files_dir) storage.restore(backup, files_dir, builder, 1) files = os.listdir(files_dir) assert len(files) == 2 with open(files_dir + "/file_1", "r") as file_1: assert self.HELLO == file_1.read() with open(files_dir + "/file_2", "r") as file_2: assert "foo\n" == file_2.read()