mirror of
https://github.com/bndr/pipreqs.git
synced 2025-06-06 03:25:21 +00:00
fix(tests): Add missing test packages, add more tests
This commit is contained in:
parent
f2024cbc40
commit
557817161e
2
setup.py
2
setup.py
@ -19,7 +19,7 @@ requirements = [
|
||||
]
|
||||
|
||||
test_requirements = [
|
||||
# TODO: put package test requirements here
|
||||
'docopt', 'yarg'
|
||||
]
|
||||
|
||||
setup(
|
||||
|
@ -8,6 +8,7 @@ import sqlite3
|
||||
import time
|
||||
import sys
|
||||
import signal
|
||||
import bs4
|
||||
import requests
|
||||
import nonexistendmodule
|
||||
# import django
|
||||
|
@ -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({'<path>': 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({'<path>': 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({'<path>': 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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user