From 8b765dbfe332bb52d02e372d9a6be432e9a49322 Mon Sep 17 00:00:00 2001 From: jvoisin <julien.voisin@dustri.org> Date: Sat, 27 Apr 2019 11:15:00 +0200 Subject: [PATCH] Prove that the tar parser is working --- tests/test_libmat2.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index 751b435..1d2a22a 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -5,6 +5,7 @@ import shutil import os import re import tarfile +import tempfile import zipfile from libmat2 import pdf, images, audio, office, parser_factory, torrent, harmless @@ -733,6 +734,21 @@ class TestCleaning(unittest.TestCase): self.assertEqual(p.get_meta(), {}) self.assertTrue(p.remove_all()) + tmp_dir = tempfile.mkdtemp() + with tarfile.open('./tests/data/dirty.cleaned.tar') as zout: + zout.extractall(path=tmp_dir) + zout.close() + + number_of_files = 0 + for root, _, fnames in os.walk(tmp_dir): + for f in fnames: + complete_path = os.path.join(root, f) + p, _ = parser_factory.get_parser(complete_path) + self.assertIsNotNone(p) + self.assertEqual(p.get_meta(), {}) + number_of_files += 1 + self.assertEqual(number_of_files, 3) + os.remove('./tests/data/dirty.tar') os.remove('./tests/data/dirty.cleaned.tar') os.remove('./tests/data/dirty.cleaned.cleaned.tar') -- GitLab