From 33a0d16a2b74831488cacaa1fa35e23915069eb9 Mon Sep 17 00:00:00 2001 From: jvoisin <julien.voisin@dustri.org> Date: Sat, 27 Apr 2019 00:00:42 +0200 Subject: [PATCH] Bump coverage back to 100% --- tests/test_corrupted_files.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/tests/test_corrupted_files.py b/tests/test_corrupted_files.py index 4a16d51..54eeb3e 100644 --- a/tests/test_corrupted_files.py +++ b/tests/test_corrupted_files.py @@ -5,9 +5,10 @@ import shutil import os import logging import zipfile +import tarfile from libmat2 import pdf, images, audio, office, parser_factory, torrent -from libmat2 import harmless, video, web +from libmat2 import harmless, video, web, archive # No need to logging messages, should something go wrong, # the testsuite _will_ fail. @@ -278,7 +279,6 @@ class TestCorruptedFiles(unittest.TestCase): p.remove_all() os.remove('./tests/data/clean.html') - def test_epub(self): with zipfile.ZipFile('./tests/data/clean.epub', 'w') as zout: zout.write('./tests/data/dirty.jpg', 'OEBPS/content.opf') @@ -291,3 +291,21 @@ class TestCorruptedFiles(unittest.TestCase): self.assertFalse(p.remove_all()) os.remove('./tests/data/clean.epub') + def test_tar(self): + with tarfile.TarFile('./tests/data/clean.tar', 'w') as zout: + zout.add('./tests/data/dirty.flac') + zout.add('./tests/data/dirty.docx') + zout.add('./tests/data/dirty.jpg') + zout.add('./tests/data/embedded_corrupted.docx') + p, mimetype = parser_factory.get_parser('./tests/data/clean.tar') + self.assertEqual(mimetype, 'application/x-tar') + meta = p.get_meta() + self.assertEqual(meta['./tests/data/dirty.flac']['comments'], 'Thank you for using MAT !') + self.assertEqual(meta['./tests/data/dirty.docx']['word/media/image1.png']['Comment'], 'This is a comment, be careful!') + self.assertFalse(p.remove_all()) + os.remove('./tests/data/clean.tar') + + shutil.copy('./tests/data/dirty.png', './tests/data/clean.tar') + with self.assertRaises(ValueError): + archive.TarParser('./tests/data/clean.tar') + os.remove('./tests/data/clean.tar') -- GitLab