From 75d7e8e3a862c2ee0382a57afb465d4689014620 Mon Sep 17 00:00:00 2001 From: simon987 Date: Sat, 21 Apr 2018 22:43:38 -0400 Subject: [PATCH] Refactored unit tests --- .../Sound sample licence => __init__.py | 0 spec/DocxParser_spec.py | 13 ----- spec/EbookParserTest.py | 13 ----- spec/FontParser_spec.py | 37 ------------- spec/MimeGuesser_spec.py | 23 -------- test/__init__.py | 0 spec/Crawler_spec.py => test/test_Crawler.py | 11 ++-- test/test_DocxParser.py | 16 ++++++ test/test_EbookParser.py | 16 ++++++ .../test_FileParser.py | 0 test/test_FontParser.py | 40 ++++++++++++++ spec/Indexer_spec.py => test/test_Indexer.py | 0 .../test_LocalStorage.py | 50 ++++++++++-------- .../test_MediaFileParser.py | 15 +++--- test/test_MimeGuesser.py | 26 +++++++++ .../test_PdfFileParser.py | 5 +- .../test_PictureFileParser.py | 17 +++--- .../test_SpreadSheetParser.py | 8 ++- .../test_TextFileParser.py | 5 +- test/test_files/Sound sample licence | 0 .../test_files/Sound sample licence.txt | 0 {spec => test}/test_files/cat1.wav | Bin {spec => test}/test_files/docx1.docx | Bin {spec => test}/test_files/epub1.epub | Bin {spec => test}/test_files/fix.csv | 0 {spec => test}/test_files/ls | Bin {spec => test}/test_files/opentype1.otf | Bin {spec => test}/test_files/pdf1.pdf | Bin {spec => test}/test_files/sample sources.txt | 0 {spec => test}/test_files/text.csv | 0 {spec => test}/test_files/truetype1.ttf | Bin {spec => test}/test_files/vid1.mp4 | Bin {spec => test}/test_files/vid2.mov | Bin {spec => test}/test_files/vid2.webm | Bin {spec => test}/test_files/vid3.mp4 | Bin {spec => test}/test_files/vid3.ogv | Bin {spec => test}/test_files/vid4.ogv | Bin {spec => test}/test_files/woff.woff | Bin {spec => test}/test_files/woff2.woff2 | Bin {spec => test}/test_files/xls1.xls | Bin {spec => test}/test_files/xlsx1.xlsx | Bin {spec => test}/test_folder/books.csv | 0 {spec => test}/test_folder/books.json | 0 .../test_folder/gb18030-example.xml | 0 {spec => test}/test_folder/hd.xml | 0 {spec => test}/test_folder/ipod_other.xml | 0 {spec => test}/test_folder/ipod_video.xml | 0 {spec => test}/test_folder/monitor2.xml | 0 {spec => test}/test_folder/more_books.json | 0 {spec => test}/test_folder/mp500.xml | 0 {spec => test}/test_folder/post.jar | Bin {spec => test}/test_folder/sample.html | 0 {spec => test}/test_folder/sample_1.jpg | Bin {spec => test}/test_folder/sample_2.jpeg | Bin {spec => test}/test_folder/sample_3.jpg | Bin {spec => test}/test_folder/sample_4.jpg | Bin {spec => test}/test_folder/sample_5.png | Bin {spec => test}/test_folder/sample_6.gif | Bin {spec => test}/test_folder/sample_7.bmp | Bin {spec => test}/test_folder/solr-word.pdf | Bin {spec => test}/test_folder/solr.xml | 0 .../test_folder/sub1/manufacturers.xml | 0 {spec => test}/test_folder/sub1/mem.xml | 0 {spec => test}/test_folder/sub1/money.xml | 0 {spec => test}/test_folder/sub2/monitor.xml | 0 {spec => test}/test_folder/sub2/sd500.xml | 0 .../sub2/sub_sub1/more_books.jsonl | 0 .../test_folder/sub2/sub_sub1/mp500.xml | 0 .../test_folder/sub2/sub_sub1/post.jar | Bin {spec => test}/test_folder/test_utf8.sh | 0 {spec => test}/test_folder/utf8-example.xml | 0 {spec => test}/test_folder/vidcard.xml | 0 test_generate_big_dir.py | 15 ------ 73 files changed, 165 insertions(+), 145 deletions(-) rename spec/test_files/Sound sample licence => __init__.py (100%) delete mode 100644 spec/DocxParser_spec.py delete mode 100644 spec/EbookParserTest.py delete mode 100644 spec/FontParser_spec.py delete mode 100644 spec/MimeGuesser_spec.py create mode 100644 test/__init__.py rename spec/Crawler_spec.py => test/test_Crawler.py (67%) create mode 100644 test/test_DocxParser.py create mode 100644 test/test_EbookParser.py rename spec/FileParser_spec.py => test/test_FileParser.py (100%) create mode 100644 test/test_FontParser.py rename spec/Indexer_spec.py => test/test_Indexer.py (100%) rename spec/LocalStorage_spec.py => test/test_LocalStorage.py (80%) rename spec/MediaFileParser_spec.py => test/test_MediaFileParser.py (65%) create mode 100644 test/test_MimeGuesser.py rename spec/PdfFileParser.py => test/test_PdfFileParser.py (71%) rename spec/PictureFileParser_spec.py => test/test_PictureFileParser.py (66%) rename spec/SpreadSheetParser_spec.py => test/test_SpreadSheetParser.py (67%) rename spec/TextFileParser_spec.py => test/test_TextFileParser.py (77%) create mode 100644 test/test_files/Sound sample licence rename {spec => test}/test_files/Sound sample licence.txt (100%) rename {spec => test}/test_files/cat1.wav (100%) rename {spec => test}/test_files/docx1.docx (100%) rename {spec => test}/test_files/epub1.epub (100%) rename {spec => test}/test_files/fix.csv (100%) rename {spec => test}/test_files/ls (100%) rename {spec => test}/test_files/opentype1.otf (100%) rename {spec => test}/test_files/pdf1.pdf (100%) rename {spec => test}/test_files/sample sources.txt (100%) rename {spec => test}/test_files/text.csv (100%) rename {spec => test}/test_files/truetype1.ttf (100%) rename {spec => test}/test_files/vid1.mp4 (100%) rename {spec => test}/test_files/vid2.mov (100%) rename {spec => test}/test_files/vid2.webm (100%) rename {spec => test}/test_files/vid3.mp4 (100%) rename {spec => test}/test_files/vid3.ogv (100%) rename {spec => test}/test_files/vid4.ogv (100%) rename {spec => test}/test_files/woff.woff (100%) rename {spec => test}/test_files/woff2.woff2 (100%) rename {spec => test}/test_files/xls1.xls (100%) rename {spec => test}/test_files/xlsx1.xlsx (100%) rename {spec => test}/test_folder/books.csv (100%) rename {spec => test}/test_folder/books.json (100%) rename {spec => test}/test_folder/gb18030-example.xml (100%) rename {spec => test}/test_folder/hd.xml (100%) rename {spec => test}/test_folder/ipod_other.xml (100%) rename {spec => test}/test_folder/ipod_video.xml (100%) rename {spec => test}/test_folder/monitor2.xml (100%) rename {spec => test}/test_folder/more_books.json (100%) rename {spec => test}/test_folder/mp500.xml (100%) rename {spec => test}/test_folder/post.jar (100%) rename {spec => test}/test_folder/sample.html (100%) rename {spec => test}/test_folder/sample_1.jpg (100%) rename {spec => test}/test_folder/sample_2.jpeg (100%) rename {spec => test}/test_folder/sample_3.jpg (100%) rename {spec => test}/test_folder/sample_4.jpg (100%) rename {spec => test}/test_folder/sample_5.png (100%) rename {spec => test}/test_folder/sample_6.gif (100%) rename {spec => test}/test_folder/sample_7.bmp (100%) rename {spec => test}/test_folder/solr-word.pdf (100%) rename {spec => test}/test_folder/solr.xml (100%) rename {spec => test}/test_folder/sub1/manufacturers.xml (100%) rename {spec => test}/test_folder/sub1/mem.xml (100%) rename {spec => test}/test_folder/sub1/money.xml (100%) rename {spec => test}/test_folder/sub2/monitor.xml (100%) rename {spec => test}/test_folder/sub2/sd500.xml (100%) rename {spec => test}/test_folder/sub2/sub_sub1/more_books.jsonl (100%) rename {spec => test}/test_folder/sub2/sub_sub1/mp500.xml (100%) rename {spec => test}/test_folder/sub2/sub_sub1/post.jar (100%) rename {spec => test}/test_folder/test_utf8.sh (100%) rename {spec => test}/test_folder/utf8-example.xml (100%) rename {spec => test}/test_folder/vidcard.xml (100%) delete mode 100644 test_generate_big_dir.py diff --git a/spec/test_files/Sound sample licence b/__init__.py similarity index 100% rename from spec/test_files/Sound sample licence rename to __init__.py diff --git a/spec/DocxParser_spec.py b/spec/DocxParser_spec.py deleted file mode 100644 index 9f3de0f..0000000 --- a/spec/DocxParser_spec.py +++ /dev/null @@ -1,13 +0,0 @@ -from unittest import TestCase -from parsing import DocxParser - - -class DocxParserTest(TestCase): - - def test_parse_content(self): - - parser = DocxParser([], 1000, "test_files/") - - info = parser.parse("test_files/docx1.docx") - - self.assertEqual(len(info["content"]), 1000) diff --git a/spec/EbookParserTest.py b/spec/EbookParserTest.py deleted file mode 100644 index 3a87d3b..0000000 --- a/spec/EbookParserTest.py +++ /dev/null @@ -1,13 +0,0 @@ -from unittest import TestCase -from parsing import EbookParser - - -class EbookParserTest(TestCase): - - def test_parse_content(self): - - parser = EbookParser([], 1000, "test_files/") - - info = parser.parse("test_files/epub1.epub") - - self.assertEqual(len(info["content"]), 1000) diff --git a/spec/FontParser_spec.py b/spec/FontParser_spec.py deleted file mode 100644 index 52a3b14..0000000 --- a/spec/FontParser_spec.py +++ /dev/null @@ -1,37 +0,0 @@ -from unittest import TestCase -from parsing import FontParser - - -class FontParserTest(TestCase): - - def test_parse_name_trueType(self): - - parser = FontParser([], "test_files/") - - info = parser.parse("test_files/truetype1.ttf") - - self.assertEqual(info["content"], "Liberation Mono Bold") - - def test_parse_name_openType(self): - - parser = FontParser([], "test_files/") - - info = parser.parse("test_files/opentype1.otf") - - self.assertEqual(info["content"], "Linux Biolinum Keyboard O") - - def test_parse_name_woff(self): - - parser = FontParser([], "test_files/") - - info = parser.parse("test_files/woff.woff") - - self.assertEqual(info["content"], "Heart of Gold") - - def test_parse_name_woff2(self): - - parser = FontParser([], "test_files/") - - info = parser.parse("test_files/woff2.woff2") - - self.assertEqual(info["content"], "Heart of Gold") diff --git a/spec/MimeGuesser_spec.py b/spec/MimeGuesser_spec.py deleted file mode 100644 index 46950f8..0000000 --- a/spec/MimeGuesser_spec.py +++ /dev/null @@ -1,23 +0,0 @@ -from parsing import ContentMimeGuesser, ExtensionMimeGuesser -from unittest import TestCase - - -class MimeGuesserTest(TestCase): - - def test_content_guesser(self): - - guesser = ContentMimeGuesser() - - self.assertEqual("text/x-shellscript", guesser.guess_mime("test_folder/test_utf8.sh")) - self.assertEqual("text/plain", guesser.guess_mime("test_folder/more_books.json")) - self.assertEqual("application/java-archive", guesser.guess_mime("test_folder/post.jar")) - self.assertEqual("image/jpeg", guesser.guess_mime("test_folder/sample_1.jpg")) - - def test_extension_guesser(self): - - guesser = ExtensionMimeGuesser() - - self.assertEqual("text/x-sh", guesser.guess_mime("test_folder/test_utf8.sh")) - self.assertEqual("application/json", guesser.guess_mime("test_folder/more_books.json")) - self.assertEqual("application/java-archive", guesser.guess_mime("test_folder/post.jar")) - self.assertEqual("image/jpeg", guesser.guess_mime("test_folder/sample_1.jpg")) diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/spec/Crawler_spec.py b/test/test_Crawler.py similarity index 67% rename from spec/Crawler_spec.py rename to test/test_Crawler.py index e5e332c..3ee22fe 100644 --- a/spec/Crawler_spec.py +++ b/test/test_Crawler.py @@ -2,6 +2,9 @@ from unittest import TestCase from parsing import GenericFileParser, Sha1CheckSumCalculator, ExtensionMimeGuesser from crawler import Crawler +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) class CrawlerTest(TestCase): @@ -10,7 +13,7 @@ class CrawlerTest(TestCase): c = Crawler([GenericFileParser([Sha1CheckSumCalculator()], "test_files/")]) - c.crawl("./test_folder") + c.crawl(dir_name + "/test_folder") self.assertEqual(len(c.documents), 31) @@ -18,12 +21,12 @@ class CrawlerTest(TestCase): c = Crawler([]) - self.assertEqual(c.countFiles("test_folder"), 31) + self.assertEqual(c.countFiles(dir_name + "/test_folder"), 31) def test_path(self): - c = Crawler([GenericFileParser([], "./test_folder")]) - c.crawl("./test_folder") + c = Crawler([GenericFileParser([], dir_name + "/test_folder")]) + c.crawl(dir_name + "/test_folder") file_count_in_sub2 = 0 diff --git a/test/test_DocxParser.py b/test/test_DocxParser.py new file mode 100644 index 0000000..05b9905 --- /dev/null +++ b/test/test_DocxParser.py @@ -0,0 +1,16 @@ +from unittest import TestCase +from parsing import DocxParser +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) + + +class DocxParserTest(TestCase): + + def test_parse_content(self): + + parser = DocxParser([], 1000, dir_name + "/test_files/") + + info = parser.parse(dir_name + "/test_files/docx1.docx") + + self.assertEqual(len(info["content"]), 1000) diff --git a/test/test_EbookParser.py b/test/test_EbookParser.py new file mode 100644 index 0000000..6ae2b48 --- /dev/null +++ b/test/test_EbookParser.py @@ -0,0 +1,16 @@ +from unittest import TestCase +from parsing import EbookParser +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) + + +class EbookParserTest(TestCase): + + def test_parse_content(self): + + parser = EbookParser([], 1000, dir_name + "/test_files/") + + info = parser.parse(dir_name + "/test_files/epub1.epub") + + self.assertEqual(len(info["content"]), 1000) diff --git a/spec/FileParser_spec.py b/test/test_FileParser.py similarity index 100% rename from spec/FileParser_spec.py rename to test/test_FileParser.py diff --git a/test/test_FontParser.py b/test/test_FontParser.py new file mode 100644 index 0000000..dc3db76 --- /dev/null +++ b/test/test_FontParser.py @@ -0,0 +1,40 @@ +from unittest import TestCase +from parsing import FontParser +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) + + +class FontParserTest(TestCase): + + def test_parse_name_trueType(self): + + parser = FontParser([], dir_name + "/test_files/") + + info = parser.parse(dir_name + "/test_files/truetype1.ttf") + + self.assertEqual(info["content"], "Liberation Mono Bold") + + def test_parse_name_openType(self): + + parser = FontParser([], dir_name + "/test_files/") + + info = parser.parse(dir_name + "/test_files/opentype1.otf") + + self.assertEqual(info["content"], "Linux Biolinum Keyboard O") + + def test_parse_name_woff(self): + + parser = FontParser([], dir_name + "/test_files/") + + info = parser.parse(dir_name + "/test_files/woff.woff") + + self.assertEqual(info["content"], "Heart of Gold") + + def test_parse_name_woff2(self): + + parser = FontParser([], dir_name + "test_files/") + + info = parser.parse(dir_name + "/test_files/woff2.woff2") + + self.assertEqual(info["content"], "Heart of Gold") diff --git a/spec/Indexer_spec.py b/test/test_Indexer.py similarity index 100% rename from spec/Indexer_spec.py rename to test/test_Indexer.py diff --git a/spec/LocalStorage_spec.py b/test/test_LocalStorage.py similarity index 80% rename from spec/LocalStorage_spec.py rename to test/test_LocalStorage.py index 5c241ff..f572e42 100644 --- a/spec/LocalStorage_spec.py +++ b/test/test_LocalStorage.py @@ -2,19 +2,23 @@ from unittest import TestCase from storage import LocalStorage, Directory, DuplicateDirectoryException, User, DuplicateUserException, Option, Task import os +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) + class LocalStorageTest(TestCase): def setUp(self): - if os.path.exists("test_database.db"): - os.remove("test_database.db") + if os.path.exists(dir_name + "/test_database.db"): + os.remove(dir_name + "/test_database.db") - s = LocalStorage("test_database.db") - s.init_db("../database.sql") + s = LocalStorage(dir_name + "/test_database.db") + s.init_db(dir_name + "/../database.sql") def test_save_and_retrieve_dir(self): - storage = LocalStorage("test_database.db") + storage = LocalStorage(dir_name + "/test_database.db") d = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val2")], "An excellent name") @@ -27,13 +31,13 @@ class LocalStorageTest(TestCase): def test_save_and_retrieve_dir_persistent(self): - s1 = LocalStorage("test_database.db") + s1 = LocalStorage(dir_name + "/test_database.db") d = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val2")], "An excellent name") dir_id = s1.save_directory(d) - s2 = LocalStorage("test_database.db") + s2 = LocalStorage(dir_name + "/test_database.db") self.assertEqual(s2.dirs()[dir_id].enabled, True) self.assertEqual(s2.dirs()[dir_id].options[0].key, "key1") @@ -42,7 +46,7 @@ class LocalStorageTest(TestCase): def test_reject_duplicate_path(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") d1 = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val2")], "An excellent name") d2 = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val2")], "An excellent name") @@ -53,7 +57,7 @@ class LocalStorageTest(TestCase): s.save_directory(d2) def test_remove_dir(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") d = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val3")], "An excellent name") dir_id = s.save_directory(d) @@ -65,7 +69,7 @@ class LocalStorageTest(TestCase): def test_save_and_retrieve_user(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") u = User("bob", b"anHashedPassword", True) @@ -76,14 +80,14 @@ class LocalStorageTest(TestCase): def test_return_none_with_unknown_user(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") with self.assertRaises(KeyError) as e: _ = s.users()["unknown_user"] def test_auth_user(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") u = User("bob", b'$2b$10$RakMb.3n/tl76sK7iVahJuklNYkR7f2Y4dsf73tPANwYBkp4VuJ7.', True) @@ -96,7 +100,7 @@ class LocalStorageTest(TestCase): def test_reject_duplicate_user(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") u1 = User("user1", b"anHashedPassword", True) u2 = User("user1", b"anotherHashedPassword", True) @@ -107,7 +111,7 @@ class LocalStorageTest(TestCase): s.save_user(u2) def test_update_user(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") u = User("neil", b"anHashedPassword", True) @@ -120,7 +124,7 @@ class LocalStorageTest(TestCase): def test_remove_user(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") u = User("martin", b"anHashedPassword", True) s.save_user(u) @@ -132,7 +136,7 @@ class LocalStorageTest(TestCase): def test_update_directory(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") d = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val2")], "An excellent name") @@ -145,7 +149,7 @@ class LocalStorageTest(TestCase): s.update_directory(d) - s2 = LocalStorage("test_database.db") + s2 = LocalStorage(dir_name + "/test_database.db") self.assertEqual(s2.dirs()[dir_id].name, "A modified name") self.assertEqual(len(s2.dirs()[dir_id].options), 2) @@ -154,7 +158,7 @@ class LocalStorageTest(TestCase): def test_save_option(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") d = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val2")], "An excellent name") dir_id = s.save_directory(d) @@ -168,7 +172,7 @@ class LocalStorageTest(TestCase): def test_del_option(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") d = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val2")], "An excellent name") dir_id = s.save_directory(d) @@ -181,7 +185,7 @@ class LocalStorageTest(TestCase): def test_update_option(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") d = Directory("/some/directory", True, [Option("key1", "val1"), Option("key2", "val2")], "An excellent name") dir_id = s.save_directory(d) @@ -192,7 +196,7 @@ class LocalStorageTest(TestCase): def test_save_task(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") dir_id = s.save_directory(Directory("/some/dir", True, [], "my dir")) task_id = s.save_task(Task(0, dir_id)) @@ -201,12 +205,12 @@ class LocalStorageTest(TestCase): self.assertEqual(task_id, 1) def test_del_task(self): - s = LocalStorage("test_database.db") + s = LocalStorage(dir_name + "/test_database.db") dir_id = s.save_directory(Directory("/some/dir", True, [], "my dir")) task_id = s.save_task(Task(0, dir_id)) - s2 = LocalStorage("test_database.db") + s2 = LocalStorage(dir_name + "/test_database.db") s2.tasks() s2.del_task(task_id) diff --git a/spec/MediaFileParser_spec.py b/test/test_MediaFileParser.py similarity index 65% rename from spec/MediaFileParser_spec.py rename to test/test_MediaFileParser.py index 8df6436..3216480 100644 --- a/spec/MediaFileParser_spec.py +++ b/test/test_MediaFileParser.py @@ -1,22 +1,25 @@ from unittest import TestCase from parsing import MediaFileParser +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) class MediaFileParserTest(TestCase): def test_audio_wav(self): - parser = MediaFileParser([], "test_files/") + parser = MediaFileParser([], dir_name + "/test_files/") - info = parser.parse("./test_files/cat1.wav") + info = parser.parse(dir_name + "/test_files/cat1.wav") self.assertEqual(info["format_long_name"], "WAV / WAVE (Waveform Audio)") self.assertEqual(info["duration"], 20.173875) def test_video_mov(self): - parser = MediaFileParser([], "./test_files") + parser = MediaFileParser([], dir_name + "/test_files") - info = parser.parse("./test_files/vid1.mp4") + info = parser.parse(dir_name + "/test_files/vid1.mp4") self.assertEqual(info["format_long_name"], "QuickTime / MOV") self.assertEqual(info["duration"], 5.334) @@ -24,7 +27,7 @@ class MediaFileParserTest(TestCase): def test_video_webm(self): parser = MediaFileParser([], "test_files/") - info = parser.parse("test_files/vid2.webm") + info = parser.parse(dir_name + "/test_files/vid2.webm") self.assertEqual(info["format_long_name"], "Matroska / WebM") self.assertEqual(info["duration"], 10.619) @@ -32,7 +35,7 @@ class MediaFileParserTest(TestCase): def test_video_ogg(self): parser = MediaFileParser([], "test_files/") - info = parser.parse("test_files/vid3.ogv") + info = parser.parse(dir_name + "/test_files/vid3.ogv") self.assertEqual(info["format_long_name"], "Ogg") self.assertEqual(info["duration"], 10.618867) diff --git a/test/test_MimeGuesser.py b/test/test_MimeGuesser.py new file mode 100644 index 0000000..917dcba --- /dev/null +++ b/test/test_MimeGuesser.py @@ -0,0 +1,26 @@ +from parsing import ContentMimeGuesser, ExtensionMimeGuesser +from unittest import TestCase +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) + + +class MimeGuesserTest(TestCase): + + def test_content_guesser(self): + + guesser = ContentMimeGuesser() + + self.assertEqual("text/x-shellscript", guesser.guess_mime(dir_name + "/test_folder/test_utf8.sh")) + self.assertEqual("text/plain", guesser.guess_mime(dir_name + "/test_folder/more_books.json")) + self.assertEqual("application/java-archive", guesser.guess_mime(dir_name + "/test_folder/post.jar")) + self.assertEqual("image/jpeg", guesser.guess_mime(dir_name + "/test_folder/sample_1.jpg")) + + def test_extension_guesser(self): + + guesser = ExtensionMimeGuesser() + + self.assertEqual("text/x-sh", guesser.guess_mime(dir_name + "/test_folder/test_utf8.sh")) + self.assertEqual("application/json", guesser.guess_mime(dir_name + "/test_folder/more_books.json")) + self.assertEqual("application/java-archive", guesser.guess_mime(dir_name + "/test_folder/post.jar")) + self.assertEqual("image/jpeg", guesser.guess_mime(dir_name + "/test_folder/sample_1.jpg")) diff --git a/spec/PdfFileParser.py b/test/test_PdfFileParser.py similarity index 71% rename from spec/PdfFileParser.py rename to test/test_PdfFileParser.py index 95834f7..3484a8f 100644 --- a/spec/PdfFileParser.py +++ b/test/test_PdfFileParser.py @@ -1,5 +1,8 @@ from unittest import TestCase from parsing import PdfFileParser +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) class PdfParserTest(TestCase): @@ -8,7 +11,7 @@ class PdfParserTest(TestCase): parser = PdfFileParser([], 12488, "test_files/") - info = parser.parse("test_files/pdf1.pdf") + info = parser.parse(dir_name + "/test_files/pdf1.pdf") self.assertEqual(len(info["content"]), 12488) self.assertTrue(info["content"].startswith("Rabies\n03/11/2011\nRabies")) diff --git a/spec/PictureFileParser_spec.py b/test/test_PictureFileParser.py similarity index 66% rename from spec/PictureFileParser_spec.py rename to test/test_PictureFileParser.py index e89d03a..fbb430e 100644 --- a/spec/PictureFileParser_spec.py +++ b/test/test_PictureFileParser.py @@ -1,14 +1,17 @@ from unittest import TestCase from parsing import PictureFileParser +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) class PictureFileParserTest(TestCase): def test_parse_jpg(self): - parser = PictureFileParser([], "test_files/") + parser = PictureFileParser([], dir_name + "/test_files/") - info = parser.parse("test_folder/sample_1.jpg") + info = parser.parse( dir_name + "/test_folder/sample_1.jpg") self.assertEqual(info["mode"], "RGB") self.assertEqual(info["width"], 420) @@ -17,9 +20,9 @@ class PictureFileParserTest(TestCase): def test_parse_png(self): - parser = PictureFileParser([], "test_files/") + parser = PictureFileParser([], dir_name + "/test_files/") - info = parser.parse("test_folder/sample_5.png") + info = parser.parse( dir_name + "/test_folder/sample_5.png") self.assertEqual(info["mode"], "RGBA") self.assertEqual(info["width"], 288) @@ -28,9 +31,9 @@ class PictureFileParserTest(TestCase): def test_parse_gif(self): - parser = PictureFileParser([], "test_files/") + parser = PictureFileParser([], dir_name + "/test_files/") - info = parser.parse("test_folder/sample_6.gif") + info = parser.parse( dir_name + "/test_folder/sample_6.gif") self.assertEqual(info["mode"], "P") self.assertEqual(info["width"], 420) @@ -41,7 +44,7 @@ class PictureFileParserTest(TestCase): parser = PictureFileParser([], "test_files/") - info = parser.parse("test_folder/sample_7.bmp") + info = parser.parse( dir_name + "/test_folder/sample_7.bmp") self.assertEqual(info["mode"], "RGB") self.assertEqual(info["width"], 150) diff --git a/spec/SpreadSheetParser_spec.py b/test/test_SpreadSheetParser.py similarity index 67% rename from spec/SpreadSheetParser_spec.py rename to test/test_SpreadSheetParser.py index a5e9f3f..f99acac 100644 --- a/spec/SpreadSheetParser_spec.py +++ b/test/test_SpreadSheetParser.py @@ -1,6 +1,10 @@ from unittest import TestCase from parsing import SpreadSheetParser +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) + class PdfParserTest(TestCase): @@ -8,7 +12,7 @@ class PdfParserTest(TestCase): parser = SpreadSheetParser([], 1500, "test_files/") - info = parser.parse("test_files/xls1.xls") + info = parser.parse(dir_name + "/test_files/xls1.xls") self.assertEqual(len(info["content"]), 1500) @@ -16,6 +20,6 @@ class PdfParserTest(TestCase): parser = SpreadSheetParser([], 1500, "test_files/") - info = parser.parse("test_files/xlsx1.xlsx") + info = parser.parse(dir_name + "/test_files/xlsx1.xlsx") self.assertEqual(len(info["content"]), 1500) diff --git a/spec/TextFileParser_spec.py b/test/test_TextFileParser.py similarity index 77% rename from spec/TextFileParser_spec.py rename to test/test_TextFileParser.py index fda3d1a..2b71c00 100644 --- a/spec/TextFileParser_spec.py +++ b/test/test_TextFileParser.py @@ -1,5 +1,8 @@ from unittest import TestCase from parsing import TextFileParser +import os + +dir_name = os.path.dirname(os.path.abspath(__file__)) class TextFileParserTest(TestCase): @@ -8,7 +11,7 @@ class TextFileParserTest(TestCase): parser = TextFileParser([], 1234, "test_files/") - info = parser.parse("test_files/text.csv") + info = parser.parse(dir_name + "/test_files/text.csv") self.assertTrue(info["content"].startswith("rosbagTimestamp,header,seq,stamp,secs,nsecs,")) self.assertEqual(len(info["content"]), 1309) # Size is larger because of html escaping diff --git a/test/test_files/Sound sample licence b/test/test_files/Sound sample licence new file mode 100644 index 0000000..e69de29 diff --git a/spec/test_files/Sound sample licence.txt b/test/test_files/Sound sample licence.txt similarity index 100% rename from spec/test_files/Sound sample licence.txt rename to test/test_files/Sound sample licence.txt diff --git a/spec/test_files/cat1.wav b/test/test_files/cat1.wav similarity index 100% rename from spec/test_files/cat1.wav rename to test/test_files/cat1.wav diff --git a/spec/test_files/docx1.docx b/test/test_files/docx1.docx similarity index 100% rename from spec/test_files/docx1.docx rename to test/test_files/docx1.docx diff --git a/spec/test_files/epub1.epub b/test/test_files/epub1.epub similarity index 100% rename from spec/test_files/epub1.epub rename to test/test_files/epub1.epub diff --git a/spec/test_files/fix.csv b/test/test_files/fix.csv similarity index 100% rename from spec/test_files/fix.csv rename to test/test_files/fix.csv diff --git a/spec/test_files/ls b/test/test_files/ls similarity index 100% rename from spec/test_files/ls rename to test/test_files/ls diff --git a/spec/test_files/opentype1.otf b/test/test_files/opentype1.otf similarity index 100% rename from spec/test_files/opentype1.otf rename to test/test_files/opentype1.otf diff --git a/spec/test_files/pdf1.pdf b/test/test_files/pdf1.pdf similarity index 100% rename from spec/test_files/pdf1.pdf rename to test/test_files/pdf1.pdf diff --git a/spec/test_files/sample sources.txt b/test/test_files/sample sources.txt similarity index 100% rename from spec/test_files/sample sources.txt rename to test/test_files/sample sources.txt diff --git a/spec/test_files/text.csv b/test/test_files/text.csv similarity index 100% rename from spec/test_files/text.csv rename to test/test_files/text.csv diff --git a/spec/test_files/truetype1.ttf b/test/test_files/truetype1.ttf similarity index 100% rename from spec/test_files/truetype1.ttf rename to test/test_files/truetype1.ttf diff --git a/spec/test_files/vid1.mp4 b/test/test_files/vid1.mp4 similarity index 100% rename from spec/test_files/vid1.mp4 rename to test/test_files/vid1.mp4 diff --git a/spec/test_files/vid2.mov b/test/test_files/vid2.mov similarity index 100% rename from spec/test_files/vid2.mov rename to test/test_files/vid2.mov diff --git a/spec/test_files/vid2.webm b/test/test_files/vid2.webm similarity index 100% rename from spec/test_files/vid2.webm rename to test/test_files/vid2.webm diff --git a/spec/test_files/vid3.mp4 b/test/test_files/vid3.mp4 similarity index 100% rename from spec/test_files/vid3.mp4 rename to test/test_files/vid3.mp4 diff --git a/spec/test_files/vid3.ogv b/test/test_files/vid3.ogv similarity index 100% rename from spec/test_files/vid3.ogv rename to test/test_files/vid3.ogv diff --git a/spec/test_files/vid4.ogv b/test/test_files/vid4.ogv similarity index 100% rename from spec/test_files/vid4.ogv rename to test/test_files/vid4.ogv diff --git a/spec/test_files/woff.woff b/test/test_files/woff.woff similarity index 100% rename from spec/test_files/woff.woff rename to test/test_files/woff.woff diff --git a/spec/test_files/woff2.woff2 b/test/test_files/woff2.woff2 similarity index 100% rename from spec/test_files/woff2.woff2 rename to test/test_files/woff2.woff2 diff --git a/spec/test_files/xls1.xls b/test/test_files/xls1.xls similarity index 100% rename from spec/test_files/xls1.xls rename to test/test_files/xls1.xls diff --git a/spec/test_files/xlsx1.xlsx b/test/test_files/xlsx1.xlsx similarity index 100% rename from spec/test_files/xlsx1.xlsx rename to test/test_files/xlsx1.xlsx diff --git a/spec/test_folder/books.csv b/test/test_folder/books.csv similarity index 100% rename from spec/test_folder/books.csv rename to test/test_folder/books.csv diff --git a/spec/test_folder/books.json b/test/test_folder/books.json similarity index 100% rename from spec/test_folder/books.json rename to test/test_folder/books.json diff --git a/spec/test_folder/gb18030-example.xml b/test/test_folder/gb18030-example.xml similarity index 100% rename from spec/test_folder/gb18030-example.xml rename to test/test_folder/gb18030-example.xml diff --git a/spec/test_folder/hd.xml b/test/test_folder/hd.xml similarity index 100% rename from spec/test_folder/hd.xml rename to test/test_folder/hd.xml diff --git a/spec/test_folder/ipod_other.xml b/test/test_folder/ipod_other.xml similarity index 100% rename from spec/test_folder/ipod_other.xml rename to test/test_folder/ipod_other.xml diff --git a/spec/test_folder/ipod_video.xml b/test/test_folder/ipod_video.xml similarity index 100% rename from spec/test_folder/ipod_video.xml rename to test/test_folder/ipod_video.xml diff --git a/spec/test_folder/monitor2.xml b/test/test_folder/monitor2.xml similarity index 100% rename from spec/test_folder/monitor2.xml rename to test/test_folder/monitor2.xml diff --git a/spec/test_folder/more_books.json b/test/test_folder/more_books.json similarity index 100% rename from spec/test_folder/more_books.json rename to test/test_folder/more_books.json diff --git a/spec/test_folder/mp500.xml b/test/test_folder/mp500.xml similarity index 100% rename from spec/test_folder/mp500.xml rename to test/test_folder/mp500.xml diff --git a/spec/test_folder/post.jar b/test/test_folder/post.jar similarity index 100% rename from spec/test_folder/post.jar rename to test/test_folder/post.jar diff --git a/spec/test_folder/sample.html b/test/test_folder/sample.html similarity index 100% rename from spec/test_folder/sample.html rename to test/test_folder/sample.html diff --git a/spec/test_folder/sample_1.jpg b/test/test_folder/sample_1.jpg similarity index 100% rename from spec/test_folder/sample_1.jpg rename to test/test_folder/sample_1.jpg diff --git a/spec/test_folder/sample_2.jpeg b/test/test_folder/sample_2.jpeg similarity index 100% rename from spec/test_folder/sample_2.jpeg rename to test/test_folder/sample_2.jpeg diff --git a/spec/test_folder/sample_3.jpg b/test/test_folder/sample_3.jpg similarity index 100% rename from spec/test_folder/sample_3.jpg rename to test/test_folder/sample_3.jpg diff --git a/spec/test_folder/sample_4.jpg b/test/test_folder/sample_4.jpg similarity index 100% rename from spec/test_folder/sample_4.jpg rename to test/test_folder/sample_4.jpg diff --git a/spec/test_folder/sample_5.png b/test/test_folder/sample_5.png similarity index 100% rename from spec/test_folder/sample_5.png rename to test/test_folder/sample_5.png diff --git a/spec/test_folder/sample_6.gif b/test/test_folder/sample_6.gif similarity index 100% rename from spec/test_folder/sample_6.gif rename to test/test_folder/sample_6.gif diff --git a/spec/test_folder/sample_7.bmp b/test/test_folder/sample_7.bmp similarity index 100% rename from spec/test_folder/sample_7.bmp rename to test/test_folder/sample_7.bmp diff --git a/spec/test_folder/solr-word.pdf b/test/test_folder/solr-word.pdf similarity index 100% rename from spec/test_folder/solr-word.pdf rename to test/test_folder/solr-word.pdf diff --git a/spec/test_folder/solr.xml b/test/test_folder/solr.xml similarity index 100% rename from spec/test_folder/solr.xml rename to test/test_folder/solr.xml diff --git a/spec/test_folder/sub1/manufacturers.xml b/test/test_folder/sub1/manufacturers.xml similarity index 100% rename from spec/test_folder/sub1/manufacturers.xml rename to test/test_folder/sub1/manufacturers.xml diff --git a/spec/test_folder/sub1/mem.xml b/test/test_folder/sub1/mem.xml similarity index 100% rename from spec/test_folder/sub1/mem.xml rename to test/test_folder/sub1/mem.xml diff --git a/spec/test_folder/sub1/money.xml b/test/test_folder/sub1/money.xml similarity index 100% rename from spec/test_folder/sub1/money.xml rename to test/test_folder/sub1/money.xml diff --git a/spec/test_folder/sub2/monitor.xml b/test/test_folder/sub2/monitor.xml similarity index 100% rename from spec/test_folder/sub2/monitor.xml rename to test/test_folder/sub2/monitor.xml diff --git a/spec/test_folder/sub2/sd500.xml b/test/test_folder/sub2/sd500.xml similarity index 100% rename from spec/test_folder/sub2/sd500.xml rename to test/test_folder/sub2/sd500.xml diff --git a/spec/test_folder/sub2/sub_sub1/more_books.jsonl b/test/test_folder/sub2/sub_sub1/more_books.jsonl similarity index 100% rename from spec/test_folder/sub2/sub_sub1/more_books.jsonl rename to test/test_folder/sub2/sub_sub1/more_books.jsonl diff --git a/spec/test_folder/sub2/sub_sub1/mp500.xml b/test/test_folder/sub2/sub_sub1/mp500.xml similarity index 100% rename from spec/test_folder/sub2/sub_sub1/mp500.xml rename to test/test_folder/sub2/sub_sub1/mp500.xml diff --git a/spec/test_folder/sub2/sub_sub1/post.jar b/test/test_folder/sub2/sub_sub1/post.jar similarity index 100% rename from spec/test_folder/sub2/sub_sub1/post.jar rename to test/test_folder/sub2/sub_sub1/post.jar diff --git a/spec/test_folder/test_utf8.sh b/test/test_folder/test_utf8.sh similarity index 100% rename from spec/test_folder/test_utf8.sh rename to test/test_folder/test_utf8.sh diff --git a/spec/test_folder/utf8-example.xml b/test/test_folder/utf8-example.xml similarity index 100% rename from spec/test_folder/utf8-example.xml rename to test/test_folder/utf8-example.xml diff --git a/spec/test_folder/vidcard.xml b/test/test_folder/vidcard.xml similarity index 100% rename from spec/test_folder/vidcard.xml rename to test/test_folder/vidcard.xml diff --git a/test_generate_big_dir.py b/test_generate_big_dir.py deleted file mode 100644 index ffdc24e..0000000 --- a/test_generate_big_dir.py +++ /dev/null @@ -1,15 +0,0 @@ -import os - - -if __name__ == "__main__": - - if not os.path.isdir("big_dir"): - os.mkdir("big_dir") - - for i in range(100): - - if not os.path.isdir("big_dir/" + str(i)): - os.mkdir("big_dir/" + str(i)) - - for j in range(10000): - open("big_dir/" + str(i) + "/file-" + str(j), 'a').close()