Generalize tests for core.python.PythonDocumentationGenerator exception

This commit is contained in:
2026-04-19 19:51:50 +02:00
parent f581774649
commit ecd3f7e76b
@@ -17,19 +17,20 @@ from src.jcloud_docsgen.core.python.namespaces import PythonModuleNamespace, Pyt
import pytest import pytest
from src.jcloud_docsgen.utils import ExistingDirectory from src.jcloud_docsgen.utils import ExistingDirectory
@pytest.mark.parametrize('project_directory,docs_directory', [ @pytest.mark.parametrize('project_directory,docs_directory,expected_exception,expected_exception_msg', [
(1, 1), (1, 1, TypeError, 'expected \'ExistingDirectory\', got \'int\''),
(1, None), (1, None, TypeError, 'expected \'ExistingDirectory\', got \'int\''),
(42, None), (42, None, TypeError, 'expected \'ExistingDirectory\', got \'int\''),
(ExistingDirectory('tests'), 1), (ExistingDirectory('tests'), 1, TypeError, 'expected \'ExistingDirectory\', got \'int\''),
(ExistingDirectory('tests/'), 1), (ExistingDirectory('tests/'), 1, TypeError, 'expected \'ExistingDirectory\', got \'int\''),
(1, ExistingDirectory('tests/')), (1, ExistingDirectory('tests/'), TypeError, 'expected \'ExistingDirectory\', got \'int\''),
(1, ExistingDirectory('tests')), (1, ExistingDirectory('tests'), TypeError, 'expected \'ExistingDirectory\', got \'int\''),
(None, ExistingDirectory('tests')), (None, ExistingDirectory('tests'), TypeError, 'expected \'ExistingDirectory\', got \'NoneType\''),
]) ])
def test_PythonDocumentationGenerator_type_exceptions(project_directory, docs_directory): def test_PythonDocumentationGenerator_exceptions(project_directory, docs_directory, expected_exception, expected_exception_msg):
with pytest.raises(TypeError): with pytest.raises(expected_exception) as exc_info:
PythonDocumentationGenerator(project_directory, docs_directory) PythonDocumentationGenerator(project_directory, docs_directory)
assert str(exc_info.value) == expected_exception_msg
@pytest.mark.parametrize('python_documentation_generator,expected', [ @pytest.mark.parametrize('python_documentation_generator,expected', [
(PythonDocumentationGenerator(ExistingDirectory('tests/unit/core/python/_core/test_project_dirs/pdir_1'), ExistingDirectory('tests/unit/core/python/_core/test_project_dirs/pdir_1/docs')), []), (PythonDocumentationGenerator(ExistingDirectory('tests/unit/core/python/_core/test_project_dirs/pdir_1'), ExistingDirectory('tests/unit/core/python/_core/test_project_dirs/pdir_1/docs')), []),