Generalize tests for core.python.PythonDocumentationGenerator exception

This commit is contained in:
jakob.scheid committed 2026-04-19 19:51:50 +02:00
1 parent f581774649
commit ecd3f7e76b
1 file changed
+12 -11
@@ -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')), []),