From ad3e7ccee8b1c18c982c39248625d5230cd3d283 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Sun, 8 Jul 2018 21:35:45 +0200 Subject: Bump coverage for office files and fix some related crashes --- tests/data/embedded_corrupted.docx | Bin 0 -> 223581 bytes tests/data/embedded_corrupted.odt | Bin 0 -> 217315 bytes tests/test_corrupted_files.py | 15 +++++++++++++++ 3 files changed, 15 insertions(+) create mode 100644 tests/data/embedded_corrupted.docx create mode 100644 tests/data/embedded_corrupted.odt (limited to 'tests') diff --git a/tests/data/embedded_corrupted.docx b/tests/data/embedded_corrupted.docx new file mode 100644 index 0000000..989bdb8 Binary files /dev/null and b/tests/data/embedded_corrupted.docx differ diff --git a/tests/data/embedded_corrupted.odt b/tests/data/embedded_corrupted.odt new file mode 100644 index 0000000..1e4a844 Binary files /dev/null and b/tests/data/embedded_corrupted.odt differ diff --git a/tests/test_corrupted_files.py b/tests/test_corrupted_files.py index a77acbc..2bb1c76 100644 --- a/tests/test_corrupted_files.py +++ b/tests/test_corrupted_files.py @@ -15,6 +15,21 @@ class TestUnsupportedFiles(unittest.TestCase): self.assertEqual(parser, None) os.remove('./tests/clean.py') +class TestCorruptedEmbedded(unittest.TestCase): + def test_docx(self): + shutil.copy('./tests/data/embedded_corrupted.docx', './tests/data/clean.docx') + parser, mimetype = parser_factory.get_parser('./tests/data/clean.docx') + self.assertFalse(parser.remove_all()) + self.assertIsNotNone(parser.get_meta()) + os.remove('./tests/data/clean.docx') + + def test_odt(self): + shutil.copy('./tests/data/embedded_corrupted.odt', './tests/data/clean.odt') + parser, mimetype = parser_factory.get_parser('./tests/data/clean.odt') + self.assertFalse(parser.remove_all()) + self.assertEqual(parser.get_meta(), {'create_system': 'Weird', 'date_time': '2018-06-10 17:18:18', 'meta.xml': 'harmful content'}) + os.remove('./tests/data/clean.odt') + class TestExplicitelyUnsupportedFiles(unittest.TestCase): def test_pdf(self): -- cgit v1.3