def test_filearchive_image_pickle_name_clash(self): export_name = 'archive_image_test_clash' filenames = ['Group1-Im1.hvz', 'Group1-Im1-1.hvz'] archive = FileArchive(export_name=export_name, pack=False) archive.add(self.image1) archive.add(self.image1) self.assertEqual(len(archive), 2) self.assertEqual(archive.listing(), filenames) archive.export() if not os.path.isdir(export_name): raise AssertionError("No directory %r created on export." % export_name) self.assertEqual(sorted(filenames), sorted(os.listdir(export_name))) self.assertEqual(archive.listing(), [])
def test_filearchive_image_serialize(self): export_name = 'archive_image_serizalize' filenames = ['Group1-Im1.pkl', 'Group2-Im2.pkl'] archive = FileArchive(export_name=export_name, exporters=[Serializer], pack=False) archive.add(self.image1) archive.add(self.image2) self.assertEqual(len(archive), 2) self.assertEqual(archive.listing(), filenames) archive.export() if not os.path.isdir(export_name): raise AssertionError("No directory %r created on export." % export_name) self.assertEqual(sorted(filenames), sorted(os.listdir(export_name))) self.assertEqual(archive.listing(), [])
def test_filearchive_image_pickle(self): export_name = 'archive_image' filenames = ['Group1-Im1.hvz', 'Group2-Im2.hvz'] archive = FileArchive(export_name=export_name, pack=False) archive.add(self.image1) archive.add(self.image2) self.assertEqual(len(archive), 2) self.assertEqual(archive.listing(), filenames) archive.export() if not os.path.isdir(export_name): raise AssertionError("No directory %r created on export." % export_name) self.assertEqual(sorted(filenames), sorted(os.listdir(export_name))) self.assertEqual(archive.listing(), [])
def test_filearchive_json_single_file(self): export_name = 'archive_json' data = {'meta':'test'} archive = FileArchive(export_name=export_name, pack=False) archive.add(filename='metadata.json', data=json.dumps(data), info={'mime_type':'text/json'}) self.assertEqual(len(archive), 1) self.assertEqual(archive.listing(), ['metadata.json']) archive.export() fname = '%s_%s' % (export_name, 'metadata.json') if not os.path.isfile(fname): raise AssertionError("No file %r created on export." % fname) self.assertEqual(json.load(open(fname, 'r')), data) self.assertEqual(archive.listing(), [])
def test_filearchive_json_single_file(self): export_name = 'archive_json' data = {'meta': 'test'} archive = FileArchive(export_name=export_name, pack=False) archive.add(filename='metadata.json', data=json.dumps(data), info={'mime_type': 'text/json'}) self.assertEqual(len(archive), 1) self.assertEqual(archive.listing(), ['metadata.json']) archive.export() fname = '%s_%s' % (export_name, 'metadata.json') if not os.path.isfile(fname): raise AssertionError("No file %r created on export." % fname) self.assertEqual(json.load(open(fname, 'r')), data) self.assertEqual(archive.listing(), [])
def test_filearchive_image_pickle_zip(self): export_name = 'archive_image' filenames = ['Group1-Im1.hvz', 'Group2-Im2.hvz'] archive = FileArchive(export_name=export_name, pack=True, archive_format='zip') archive.add(self.image1) archive.add(self.image2) self.assertEqual(len(archive), 2) self.assertEqual(archive.listing(), filenames) archive.export() if not os.path.isfile(export_name+'.zip'): raise AssertionError("No zip file %r created on export." % export_name) namelist = ['archive_image/%s' % f for f in filenames] with zipfile.ZipFile(export_name+'.zip', 'r') as f: self.assertEqual(sorted(namelist), sorted(f.namelist())) self.assertEqual(archive.listing(), [])
def test_filearchive_image_pickle_tar(self): export_name = 'archive_image' filenames = ['Group1-Im1.hvz', 'Group2-Im2.hvz'] archive = FileArchive(export_name=export_name, pack=True, archive_format='tar') archive.add(self.image1) archive.add(self.image2) self.assertEqual(len(archive), 2) self.assertEqual(archive.listing(), filenames) archive.export() if not os.path.isfile(export_name+'.tar'): raise AssertionError("No tar file %r created on export." % export_name) namelist = ['archive_image/%s' % f for f in filenames] with tarfile.TarFile(export_name+'.tar', 'r') as f: self.assertEqual(sorted(namelist), sorted([el.path for el in f.getmembers()])) self.assertEqual(archive.listing(), [])
def test_filearchive_image_pickle_zip(self): export_name = 'archive_image' filenames = ['Group1-Im1.hvz', 'Group2-Im2.hvz'] archive = FileArchive(export_name=export_name, pack=True, archive_format='zip') archive.add(self.image1) archive.add(self.image2) self.assertEqual(len(archive), 2) self.assertEqual(archive.listing(), filenames) archive.export() if not os.path.isfile(export_name + '.zip'): raise AssertionError("No zip file %r created on export." % export_name) namelist = ['archive_image/%s' % f for f in filenames] with zipfile.ZipFile(export_name + '.zip', 'r') as f: self.assertEqual(sorted(namelist), sorted(f.namelist())) self.assertEqual(archive.listing(), [])
def test_filearchive_image_pickle_tar(self): export_name = 'archive_image' filenames = ['Group1-Im1.hvz', 'Group2-Im2.hvz'] archive = FileArchive(export_name=export_name, pack=True, archive_format='tar') archive.add(self.image1) archive.add(self.image2) self.assertEqual(len(archive), 2) self.assertEqual(archive.listing(), filenames) archive.export() if not os.path.isfile(export_name + '.tar'): raise AssertionError("No tar file %r created on export." % export_name) namelist = ['archive_image/%s' % f for f in filenames] with tarfile.TarFile(export_name + '.tar', 'r') as f: self.assertEqual(sorted(namelist), sorted([el.path for el in f.getmembers()])) self.assertEqual(archive.listing(), [])