From 557817161e7f081dde42fb81db23439eedb6208d Mon Sep 17 00:00:00 2001 From: Vadim Kravcenko Date: Fri, 8 May 2015 17:29:05 +0200 Subject: [PATCH] fix(tests): Add missing test packages, add more tests --- setup.py | 2 +- tests/_data/test.py | 1 + tests/test_pipreqs.py | 29 ++++++++++++++++------------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/setup.py b/setup.py index 34dd79e..3b7ab54 100755 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ requirements = [ ] test_requirements = [ - # TODO: put package test requirements here + 'docopt', 'yarg' ] setup( diff --git a/tests/_data/test.py b/tests/_data/test.py index b033ef7..0634a4b 100644 --- a/tests/_data/test.py +++ b/tests/_data/test.py @@ -8,6 +8,7 @@ import sqlite3 import time import sys import signal +import bs4 import requests import nonexistendmodule # import django diff --git a/tests/test_pipreqs.py b/tests/test_pipreqs.py index c1548dd..c4db9cb 100755 --- a/tests/test_pipreqs.py +++ b/tests/test_pipreqs.py @@ -15,16 +15,17 @@ from pipreqs import pipreqs class TestPipreqs(unittest.TestCase): def setUp(self): - self.modules = ['flask', 'requests', 'sqlalchemy', 'docopt', 'ujson', 'nonexistendmodule'] + self.modules = ['flask', 'requests', 'sqlalchemy', 'docopt', 'ujson', 'nonexistendmodule', 'bs4'] + self.modules2 = ['beautifulsoup4'] self.project = os.path.join(os.path.dirname(__file__), "_data") self.requirements_path = os.path.join(self.project, "requirements.txt") self.alt_requirement_path = os.path.join(self.project, "requirements2.txt") def test_get_all_imports(self): imports = pipreqs.get_all_imports(self.project) - self.assertEqual(len(imports), 6, "Incorrect Imports array length") + self.assertEqual(len(imports), 7, "Incorrect Imports array length") for item in imports: - self.assertTrue(item in self.modules, "Import is missing") + self.assertTrue(item.lower() in self.modules, "Import is missing: " + item) self.assertFalse("time" in imports) self.assertFalse("logging" in imports) self.assertFalse("curses" in imports) @@ -36,37 +37,39 @@ class TestPipreqs(unittest.TestCase): imports = pipreqs.get_all_imports(self.project) with_info = pipreqs.get_imports_info(imports) # Should contain only 5 Elements without the "nonexistendmodule" + print (with_info) self.assertEqual(len(with_info), 5, "Length of imports array with info is wrong") for item in with_info: - self.assertTrue(item['name'] in self.modules, "Import item appears to be missing") + self.assertTrue(item['name'].lower() in self.modules, "Import item appears to be missing " + item['name']) def test_get_use_local_only(self): # should find only docopt and requests imports_with_info = pipreqs.get_import_local(self.modules) - self.assertTrue(len(imports_with_info) == 2) + self.assertEqual(len(imports_with_info), 2) def test_init(self): pipreqs.init({'': self.project, '--savepath': None,'--use-local':None}) assert os.path.exists(self.requirements_path) == 1 with open(self.requirements_path, "r") as f: - data = f.read() - for item in self.modules[:-1]: - self.assertTrue(item in data) + data = f.read().lower() + for item in self.modules[:-2]: + self.assertTrue(item.lower() in data) def test_init_local_only(self): pipreqs.init({'': self.project, '--savepath': None,'--use-local':True}) assert os.path.exists(self.requirements_path) == 1 with open(self.requirements_path, "r") as f: - data = f.readlines() - self.assertEqual(len(data), 2, 'Only two local packages should be found') + self.assertEqual(len(f.readlines()), 2, 'Only two local packages should be found') def test_init_savepath(self): pipreqs.init({'': self.project, '--savepath': self.alt_requirement_path,'--use-local':None}) assert os.path.exists(self.alt_requirement_path) == 1 with open(self.alt_requirement_path, "r") as f: - data = f.read() - for item in self.modules[:-1]: - self.assertTrue(item in data) + data = f.read().lower() + for item in self.modules[:-2]: + self.assertTrue(item.lower() in data) + for item in self.modules2: + self.assertTrue(item.lower() in data) def tearDown(self):