generated from jCloud/repository-template
65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
# Copyright 2026 jCloud
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import pathlib
|
|
import pytest
|
|
from jcloud_docsgen.cli.cli import create_argument_parser, main as cli_main
|
|
|
|
def test_sections_error():
|
|
parser = create_argument_parser()
|
|
|
|
with pytest.raises(SystemExit):
|
|
parser.parse_args([
|
|
'python',
|
|
'-s',
|
|
'param' # correct: `params`
|
|
])
|
|
|
|
with pytest.raises(SystemExit):
|
|
parser.parse_args([
|
|
'python',
|
|
'-s',
|
|
'params',
|
|
'docstrng' # correct: `docstring`
|
|
])
|
|
|
|
def test_sections_success():
|
|
parser = create_argument_parser()
|
|
|
|
parser.parse_args([
|
|
'python',
|
|
'-s',
|
|
'params'
|
|
])
|
|
parser.parse_args([
|
|
'python',
|
|
'-s',
|
|
'params',
|
|
'docstring'
|
|
])
|
|
|
|
def test_docs_generation(expectdir):
|
|
with expectdir('python_project') as output_dir:
|
|
output_dir: pathlib.Path
|
|
input_dir = pathlib.Path(__file__).parent / 'python_project/project'
|
|
cli_main([
|
|
'python',
|
|
'-s',
|
|
'params',
|
|
'docstring',
|
|
'-HTo',
|
|
str(output_dir),
|
|
str(input_dir)
|
|
])
|