From a1257c538be63f1c8119e4e2f9116dccfd91d8b7 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Mon, 30 Jul 2018 22:36:36 +0200 Subject: [PATCH] Add some tests about pathological files --- tests/test_corrupted_files.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tests/test_corrupted_files.py b/tests/test_corrupted_files.py index 20b1efa..928ca1f 100644 --- a/tests/test_corrupted_files.py +++ b/tests/test_corrupted_files.py @@ -7,6 +7,41 @@ import os from libmat2 import pdf, images, audio, office, parser_factory, torrent, harmless +class TestInexistentFiles(unittest.TestCase): + def test_ro(self): + parser, mimetype = parser_factory.get_parser('/etc/passwd') + self.assertEqual(mimetype, None) + self.assertEqual(parser, None) + + def test_notaccessible(self): + parser, mimetype = parser_factory.get_parser('/etc/shadow') + self.assertEqual(mimetype, None) + self.assertEqual(parser, None) + + def test_folder(self): + parser, mimetype = parser_factory.get_parser('./tests/') + self.assertEqual(mimetype, None) + self.assertEqual(parser, None) + + def test_inexistingfile(self): + parser, mimetype = parser_factory.get_parser('./tests/NONEXISTING_FILE') + self.assertEqual(mimetype, None) + self.assertEqual(parser, None) + + def test_chardevice(self): + parser, mimetype = parser_factory.get_parser('/dev/zero') + self.assertEqual(mimetype, None) + self.assertEqual(parser, None) + + def test_brokensymlink(self): + shutil.copy('./tests/test_libmat2.py', './tests/clean.py') + os.symlink('./tests/clean.py', './tests/SYMLINK') + os.remove('./tests/clean.py') + parser, mimetype = parser_factory.get_parser('./tests/SYMLINK') + self.assertEqual(mimetype, None) + self.assertEqual(parser, None) + os.unlink('./tests/SYMLINK') + class TestUnsupportedFiles(unittest.TestCase): def test_pdf(self): shutil.copy('./tests/test_libmat2.py', './tests/clean.py')