def test_combine_conflicts_different_content_with_check(self): a1 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/apple.txt'), 'apple.txt'), (self.native_filename('fruits/durian.txt'), 'durian.txt'), (self.native_filename('fruits/kiwi.txt'), 'kiwi.txt'), (self.native_filename('fruits/plum.txt'), '1plum.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a1-') a2 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/kiwi.txt'), 'kiwi.txt'), (self.native_filename('fruits/melon.txt'), 'melon.txt'), (self.native_filename('fruits/lemon.txt'), '1lemon.txt'), (self.native_filename('fruits/dragonfruit.txt'), 'dragonfruit.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a2-') a3 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/lemon.txt'), '2lemon.txt'), (self.native_filename('fruits/strawberry.txt'), 'strawberry.txt'), (self.native_filename('fruits/pear.txt'), 'pear.txt'), (self.native_filename('fruits/plum.txt'), '2plum.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a3-') tmp_archive = self.make_temp_file(suffix='.zip') with self.assertRaises(RuntimeError) as ctx: archive_util.combine([a1, a2, a3], tmp_archive, check_content=True)
def test_combine_conflicts_different_content_no_check(self): a1 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/apple.txt'), 'apple.txt'), (self.native_filename('fruits/durian.txt'), 'durian.txt'), (self.native_filename('fruits/kiwi.txt'), 'kiwi.txt'), (self.native_filename('fruits/plum.txt'), '1plum.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a1-') a2 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/kiwi.txt'), 'kiwi.txt'), (self.native_filename('fruits/melon.txt'), 'melon.txt'), (self.native_filename('fruits/lemon.txt'), '1lemon.txt'), (self.native_filename('fruits/dragonfruit.txt'), 'dragonfruit.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a2-') a3 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/lemon.txt'), '2lemon.txt'), (self.native_filename('fruits/strawberry.txt'), 'strawberry.txt'), (self.native_filename('fruits/pear.txt'), 'pear.txt'), (self.native_filename('fruits/plum.txt'), '2plum.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a3-') tmp_archive = self.make_temp_file(suffix='.zip') archive_util.combine([a1, a2, a3], tmp_archive) self.assertEqual([ 'fruits/apple.txt', 'fruits/dragonfruit.txt', 'fruits/durian.txt', 'fruits/kiwi.txt', 'fruits/lemon.txt', 'fruits/melon.txt', 'fruits/pear.txt', 'fruits/plum.txt', 'fruits/strawberry.txt', ], archiver.members(tmp_archive))
def test_combine_with_base_dir(self): a1 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/apple.txt'), 'apple.txt'), (self.native_filename('fruits/durian.txt'), 'durian.txt'), (self.native_filename('fruits/kiwi.txt'), 'kiwi.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a1-') a2 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/melon.txt'), 'melon.txt'), (self.native_filename('fruits/lemon.txt'), 'lemon.txt'), (self.native_filename('fruits/dragonfruit.txt'), 'dragonfruit.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a2-') a3 = temp_archive.make_temp_archive(temp_archive.make_temp_item_list([ (self.native_filename('fruits/strawberry.txt'), 'strawberry.txt'), (self.native_filename('fruits/pear.txt'), 'pear.txt'), (self.native_filename('fruits/plum.txt'), 'plum.txt'), ]), 'zip', delete=not self.DEBUG, prefix='a3-') tmp_archive = self.make_temp_file(suffix='.zip') archive_util.combine([a1, a2, a3], tmp_archive, base_dir='foo-1.2.3') self.assertEqual([ 'foo-1.2.3/fruits/apple.txt', 'foo-1.2.3/fruits/dragonfruit.txt', 'foo-1.2.3/fruits/durian.txt', 'foo-1.2.3/fruits/kiwi.txt', 'foo-1.2.3/fruits/lemon.txt', 'foo-1.2.3/fruits/melon.txt', 'foo-1.2.3/fruits/pear.txt', 'foo-1.2.3/fruits/plum.txt', 'foo-1.2.3/fruits/strawberry.txt', ], archiver.members(tmp_archive))
def combine(self, dest_archive, archives, check_content, base_dir, exclude): archive_util.combine(archives, dest_archive, check_content = check_content, base_dir = base_dir, exclude = exclude) return 0