def test_extractall_outside_base(self): zip_file_object = StringIO() archive = ZipExtractAll(zip_file_object, "w", compression=zipfile.ZIP_STORED) archive.writestr("../../../../wat", "this is weird") tmp_dir = tempfile.mkdtemp() self.assertRaises(Exception, archive.extractall, (tmp_dir)) archive.close() shutil.rmtree(tmp_dir)
def test_extractall_outside_base(self): zip_file_object = six.BytesIO() archive = ZipExtractAll(zip_file_object, "w", compression=zipfile.ZIP_STORED) archive.writestr("../../../../wat", "this is weird") tmp_dir = tempfile.mkdtemp() self.assertRaises(Exception, archive.extractall, (tmp_dir)) archive.close() shutil.rmtree(tmp_dir)
def test_extractall_local(self): zip_file_object = StringIO() archive = ZipExtractAll(zip_file_object, "w", compression=zipfile.ZIP_STORED) archive.writestr("./some/path", "this is okay I think, though odd") archive.close() archive = ZipExtractAll(zip_file_object, "r", compression=zipfile.ZIP_STORED) tmp_dir = tempfile.mkdtemp() archive.extractall(tmp_dir) self.assertTrue(os.path.exists(os.path.join(tmp_dir, "./some/path"))) archive.close() shutil.rmtree(tmp_dir)
def test_extractall_local(self): zip_file_object = six.BytesIO() archive = ZipExtractAll(zip_file_object, "w", compression=zipfile.ZIP_STORED) archive.writestr("./some/path", "this is okay I think, though odd") archive.close() archive = ZipExtractAll(zip_file_object, "r", compression=zipfile.ZIP_STORED) tmp_dir = tempfile.mkdtemp() archive.extractall(tmp_dir) self.assertTrue(os.path.exists(os.path.join(tmp_dir, "./some/path"))) archive.close() shutil.rmtree(tmp_dir)
def test_extractall_net_path(self): zip_file_object = StringIO() archive = ZipExtractAll(zip_file_object, "w", compression=zipfile.ZIP_STORED) archive.writestr(r"\\nethost\share\whatever", "this is weird") archive.close() archive = ZipExtractAll(zip_file_object, "r", compression=zipfile.ZIP_STORED) tmp_dir = tempfile.mkdtemp() archive.extractall(tmp_dir) archive.close() self.assertTrue(os.path.exists(os.path.join(tmp_dir, "\\\\nethost\\share\\whatever"))) shutil.rmtree(tmp_dir)
def test_extractall_net_path(self): zip_file_object = six.BytesIO() archive = ZipExtractAll(zip_file_object, "w", compression=zipfile.ZIP_STORED) archive.writestr(r"\\nethost\share\whatever", "this is weird") archive.close() archive = ZipExtractAll(zip_file_object, "r", compression=zipfile.ZIP_STORED) tmp_dir = tempfile.mkdtemp() archive.extractall(tmp_dir) archive.close() self.assertTrue(os.path.exists(os.path.join(tmp_dir, "\\\\nethost\\share\\whatever"))) shutil.rmtree(tmp_dir)