def test_03(self): '''Full with incs and one old inc''' folder = self.gen_tempfolder() old_leftover = [ "duplicity-inc.20130101T000000Z.to.20130101T000001Z.manifest.gpg", "duplicity-inc.20130101T000000Z.to.20130101T000001Z.vol1.difftar.gpg", "duplicity-new-signatures.20130101T010000Z.to.20130101T000001Z.sigtar.gpg" ] last_full = [ "duplicity-full.20130101T010000Z.manifest.gpg", "duplicity-full.20130101T010000Z.vol1.difftar.gpg", "duplicity-full.20130101T010000Z.vol2.difftar.gpg", "duplicity-full-signatures.20130101T010000Z.sigtar.gpg" ] after_full = [ "duplicity-inc.20130101T010000Z.to.20130102T010001Z.manifest.gpg", "duplicity-inc.20130101T010000Z.to.20130102T010001Z.vol1.difftar.gpg", "duplicity-new-signatures.20130101T010000Z.to.20130102T010001Z.sigtar.gpg", "duplicity-inc.20130102T010001Z.to.20130103T010000Z.manifest.gpg", "duplicity-inc.20130102T010001Z.to.20130103T010000Z.vol1.difftar.gpg", "duplicity-new-signatures.20130102T010001Z.to.20130103T010000Z.sigtar.gpg" ] names_in = old_leftover + last_full + after_full self.add_files(folder, names_in) result = copy_duplicity_backups.return_last_n_full_backups(folder, 1) self.assertEqual(sorted(last_full+after_full), sorted(result)) shutil.rmtree(folder)
def test_04(self): '''3 fulls with incs, select last 2 fulls''' gen = TestNameGenerator() full_1 = gen.gen_names("full", 2013, 1, 1, 8) incs_1 = ( gen.gen_names("inc", 2013, 1, 2, 1) + gen.gen_names("inc", 2013, 1, 3, 1) + gen.gen_names("inc", 2013, 1, 4, 2) + gen.gen_names("inc", 2013, 1, 6, 1)) full_2 = gen.gen_names("full", 2013, 1, 8, 1) incs_2 = ( gen.gen_names("inc", 2013, 1, 9, 3) + gen.gen_names("inc", 2013, 1, 10, 4) + gen.gen_names("inc", 2013, 1, 11, 2)) full_3 = gen.gen_names("full", 2013, 2, 1, 1) incs_3 = ( gen.gen_names("inc", 2013, 2, 3, 2) + gen.gen_names("inc", 2013, 2, 4, 20)) names_in = full_1 + incs_1 + full_2 + incs_2 + full_3 + incs_3 folder = self.gen_tempfolder() self.add_files(folder, names_in) result = copy_duplicity_backups.return_last_n_full_backups(folder, 2) expected = full_2 + incs_2 + full_3 + incs_3 self.assertEqual(sorted(result), sorted(expected)) shutil.rmtree(folder)
def test_05(self): '''Multi regex match''' folder = self.gen_tempfolder() # Multiple matches for a wrong file, # "^" / "$" in regex necessary names_in = [ "duplicity-full.20130101T010000Z.manifest.gpg", "duplicity-full.20130101T010000Z.vol1.difftar.gpg" "duplicity-full.20130101T010000Z.vol2.difftar.gpg" "duplicity-full-signatures.20130101T010000Z.sigtar.gpg" ] self.add_files(folder, names_in) with self.assertRaises(copy_duplicity_backups.UnknownFileException): copy_duplicity_backups.return_last_n_full_backups(folder, 3) shutil.rmtree(folder)
def test_01(self): '''Only one full''' folder = self.gen_tempfolder() names_in = [ "duplicity-full.20130101T010000Z.manifest.gpg", "duplicity-full.20130101T010000Z.vol1.difftar.gpg", "duplicity-full.20130101T010000Z.vol2.difftar.gpg", "duplicity-full-signatures.20130101T010000Z.sigtar.gpg" ] self.add_files(folder, names_in) result = copy_duplicity_backups.return_last_n_full_backups(folder, 3) self.assertEqual(sorted(names_in), sorted(result)) shutil.rmtree(folder)