Feat(python-generator): protection against accidental overwriting of the output directory #40

Merged
jakob.scheid merged 6 commits from feature/protect-against-accidental-overwriting into main 2026-09-27 21:56:40 +02:00
Showing only changes of commit f2b9f47e09 - Show all commits
+37 -10
View File
@@ -16,6 +16,8 @@ import pathlib
import pytest import pytest
import tempfile
from jcloud_docsgen.cli.cli import create_argument_parser from jcloud_docsgen.cli.cli import create_argument_parser
from jcloud_docsgen.cli.cli import main as cli_main from jcloud_docsgen.cli.cli import main as cli_main
from jcloud_docsgen.cli.languages.python import parse_sections_list from jcloud_docsgen.cli.languages.python import parse_sections_list
@@ -174,15 +176,40 @@ def test_sections_success():
def test_docs_generation(expectdir): def test_docs_generation(expectdir):
with expectdir('python_project') as output_dir: with expectdir('python_project') as output_dir:
output_dir: pathlib.Path output_dir: pathlib.Path
(output_dir / 'test_dir').mkdir()
input_dir = pathlib.Path(__file__).parent / 'python_project/project' input_dir = pathlib.Path(__file__).parent / 'python_project/project'
cli_main( assert (
[ cli_main(
'python', [
'-s', 'python',
'params', '-s',
'docstring', 'params',
'-HTo', 'docstring',
str(output_dir), '-HTfo',
str(input_dir), str(output_dir),
] str(input_dir),
]
)
== 0
)
def test_docs_generation_error():
with tempfile.TemporaryDirectory() as output_dir:
output_dir = pathlib.Path(output_dir)
(output_dir / 'test_dir').mkdir()
input_dir = pathlib.Path(__file__).parent / 'python_project/project'
assert (
cli_main(
[
'python',
'-s',
'params',
'docstring',
'-HTo',
str(output_dir),
str(input_dir),
]
)
== 1
) )