def test_sapcar_archive_add_file(self): """Test some basic construction of a SAP CAR archive adding from an existent file""" ar = SAPCARArchive("somefile", "w") ar.add_file(self.test_filename) ar.add_file(self.test_filename, archive_filename=self.test_filename+"two") self.assertEqual("2.01", ar.version) self.assertEqual(2, len(ar.files)) self.assertEqual(2, len(ar.files_names)) self.assertListEqual([self.test_filename, self.test_filename+"two"], ar.files_names) self.assertListEqual([self.test_filename, self.test_filename+"two"], ar.files.keys()) for filename in [self.test_filename, self.test_filename+"two"]: af = ar.open(filename) self.assertEqual(self.test_string, af.read()) af.close() ff = ar.files[filename] self.assertEqual(len(self.test_string), ff.size) self.assertEqual(filename, ff.filename) self.assertTrue(ff.check_checksum()) self.assertEqual(ff.calculate_checksum(self.test_string), ff.checksum) af = ff.open() self.assertEqual(self.test_string, af.read()) af.close()
def test_sapcar_archive_add_file(self): """Test some basic construction of a SAP CAR archive adding from an existent file""" ar = SAPCARArchive(self.test_archive_file, "w") ar.add_file(self.test_filename) ar.add_file(self.test_filename, archive_filename=self.test_filename + "two") self.assertEqual("2.01", ar.version) self.assertEqual(2, len(ar.files)) self.assertEqual(2, len(ar.files_names)) self.assertListEqual([self.test_filename, self.test_filename + "two"], ar.files_names) self.assertListEqual([self.test_filename, self.test_filename + "two"], ar.files.keys()) for filename in [self.test_filename, self.test_filename + "two"]: af = ar.open(filename) self.assertEqual(self.test_string, af.read()) af.close() ff = ar.files[filename] self.assertEqual(len(self.test_string), ff.size) self.assertEqual(filename, ff.filename) self.assertTrue(ff.check_checksum()) self.assertEqual(ff.calculate_checksum(self.test_string), ff.checksum) af = ff.open() self.assertEqual(self.test_string, af.read()) af.close() ar.write() ar.close()
def check_sapcar_archive(self, filename, version): """Test SAP CAR archive file version 201""" with open(data_filename(filename), "rb") as fd: sapcar_archive = SAPCARArchive(fd, mode="r") self.assertEqual(filename, basename(sapcar_archive.filename)) self.assertEqual(version, sapcar_archive.version) self.assertEqual(1, len(sapcar_archive.files)) self.assertEqual(1, len(sapcar_archive.files_names)) self.assertListEqual([self.test_filename], sapcar_archive.files_names) self.assertListEqual([self.test_filename], sapcar_archive.files.keys()) af = sapcar_archive.open(self.test_filename) self.assertEqual(self.test_string, af.read()) af.close() ff = sapcar_archive.files[self.test_filename] self.assertEqual(len(self.test_string), ff.size) self.assertEqual(self.test_filename, ff.filename) self.assertEqual(self.test_timestamp, ff.timestamp) self.assertEqual(self.test_permissions, ff.permissions) self.assertTrue(ff.check_checksum()) self.assertEqual(ff.calculate_checksum(self.test_string), ff.checksum) af = ff.open() self.assertEqual(self.test_string, af.read()) af.close()
def check_sapcar_archive(self, filename, version): """Test SAP CAR archive file""" with open(data_filename(filename), "rb") as fd: sapcar_archive = SAPCARArchive(fd, mode="r") self.assertEqual(filename, basename(sapcar_archive.filename)) self.assertEqual(version, sapcar_archive.version) self.assertEqual(1, len(sapcar_archive.files)) self.assertEqual(1, len(sapcar_archive.files_names)) self.assertListEqual([self.test_filename], sapcar_archive.files_names) self.assertListEqual([self.test_filename], sapcar_archive.files.keys()) af = sapcar_archive.open(self.test_filename) self.assertEqual(self.test_string, af.read()) af.close() ff = sapcar_archive.files[self.test_filename] self.assertEqual(len(self.test_string), ff.size) self.assertEqual(self.test_filename, ff.filename) self.assertEqual(self.test_timestamp, ff.timestamp) self.assertEqual(self.test_timestamp_raw, ff.timestamp_raw) self.assertEqual(self.test_permissions, ff.permissions) self.assertEqual(self.test_perm_mode, ff.perm_mode) self.assertEqual(version, ff.version) self.assertTrue(ff.is_file()) self.assertFalse(ff.is_directory()) self.assertTrue(ff.check_checksum()) self.assertEqual(ff.calculate_checksum(self.test_string), ff.checksum) af = ff.open() self.assertEqual(self.test_string, af.read()) af.close()