|
a |
|
b/tests/test_requirements.py |
|
|
1 |
"""Test availability of required packages.""" |
|
|
2 |
|
|
|
3 |
import unittest |
|
|
4 |
import os |
|
|
5 |
from pathlib import Path |
|
|
6 |
|
|
|
7 |
import pkg_resources |
|
|
8 |
|
|
|
9 |
parent_path = Path(__file__).parent.parent |
|
|
10 |
requirements_path_os = os.path.join(parent_path,"requirements.txt") |
|
|
11 |
print("Parent Path = {}".format(parent_path)) |
|
|
12 |
print("Requirements Path = {}".format(requirements_path_os)) |
|
|
13 |
_REQUIREMENTS_PATH = Path(requirements_path_os) |
|
|
14 |
|
|
|
15 |
|
|
|
16 |
class TestRequirements(unittest.TestCase): |
|
|
17 |
"""Test availability of required packages.""" |
|
|
18 |
|
|
|
19 |
def test_requirements(self): |
|
|
20 |
"""Test that each required package is available.""" |
|
|
21 |
# Ref: https://stackoverflow.com/a/45474387/ |
|
|
22 |
requirements = pkg_resources.parse_requirements(_REQUIREMENTS_PATH.open()) |
|
|
23 |
for requirement in requirements: |
|
|
24 |
requirement = str(requirement) |
|
|
25 |
print("Check Requirement ==> {}".format(requirement)) |
|
|
26 |
with self.subTest(requirement=requirement): |
|
|
27 |
pkg_resources.require(requirement) |