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