tests(project): add tests for project
This commit is contained in:
+4
-17
@@ -4,35 +4,22 @@ import typing
|
||||
import toml
|
||||
|
||||
|
||||
def __get_project_data() -> None | dict[str, typing.Any]:
|
||||
def __get_project_data() -> dict[str, typing.Any]:
|
||||
pyproject_toml_file = pathlib.Path(__file__).parent.parent / "pyproject.toml"
|
||||
if pyproject_toml_file.is_file():
|
||||
try:
|
||||
data = toml.load(pyproject_toml_file)
|
||||
if "project" in data:
|
||||
return data["project"]
|
||||
except TypeError, toml.TomlDecodeError, FileNotFoundError:
|
||||
pass
|
||||
return None
|
||||
|
||||
|
||||
__project_data = __get_project_data()
|
||||
|
||||
|
||||
def __get_str_value(key: str) -> str:
|
||||
project_data = __project_data
|
||||
if project_data is not None and key in project_data:
|
||||
return project_data[key]
|
||||
return "unknown"
|
||||
|
||||
|
||||
def get_version() -> str:
|
||||
return __get_str_value("version")
|
||||
return __project_data["version"]
|
||||
|
||||
|
||||
def get_name() -> str:
|
||||
return __get_str_value("name")
|
||||
return __project_data["name"]
|
||||
|
||||
|
||||
def get_description() -> str:
|
||||
return __get_str_value("description")
|
||||
return __project_data["description"]
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
from src.project import get_description, get_name, get_version
|
||||
|
||||
from . import BaseTestCase
|
||||
|
||||
|
||||
class TestProject(BaseTestCase):
|
||||
def test_get_version(self) -> None:
|
||||
self.assertRegex(get_version(), r"\d+\.\d+\.\d+")
|
||||
|
||||
def test_get_name(self) -> None:
|
||||
assert get_name() is not None
|
||||
|
||||
def test_get_description(self) -> None:
|
||||
assert get_description() is not None
|
||||
Reference in New Issue
Block a user