- Consolidated CLI commands into [build](cci:1://file:///c:/Users/vishe/WorkSpace/code/aetos/doc-forge/docforge/cli/mkdocs/logic.py:48:0-58:46) and [serve](cci:1://file:///c:/Users/vishe/WorkSpace/code/aetos/doc-forge/docforge/cli/commands.py:70:0-92:32) using `--mkdocs` and `--mcp` flags. - Separated CLI orchestration logic into [docforge/cli/mkdocs/logic.py](cci:7://file:///c:/Users/vishe/WorkSpace/code/aetos/doc-forge/docforge/cli/mkdocs/logic.py:0:0-0:0) and [docforge/cli/mcp/logic.py](cci:7://file:///c:/Users/vishe/WorkSpace/code/aetos/doc-forge/docforge/cli/mcp/logic.py:0:0-0:0). - Moved command definitions to [docforge/cli/commands.py](cci:7://file:///c:/Users/vishe/WorkSpace/code/aetos/doc-forge/docforge/cli/commands.py:0:0-0:0), making [main.py](cci:7://file:///c:/Users/vishe/WorkSpace/code/aetos/doc-forge/docforge/cli/main.py:0:0-0:0) a thin entry point. - Aligned [.pyi](cci:7://file:///c:/Users/vishe/WorkSpace/code/aetos/doc-forge/docforge/cli/main.pyi:0:0-0:0) type stubs with [.py](cci:7://file:///c:/Users/vishe/WorkSpace/code/aetos/doc-forge/tests/conftest.py:0:0-0:0) implementations across the package. - Added missing docstrings to internal helper functions and core classes. - Restructured tests into `tests/mkdocs/` and `tests/mcp/`. - Updated navigation specification to reflect the new project structure.
32 lines
851 B
Python
32 lines
851 B
Python
import json
|
|
from pathlib import Path
|
|
from click.testing import CliRunner
|
|
from docforge.cli.main import cli
|
|
|
|
def test_mcp_build(cli_runner):
|
|
with cli_runner.isolated_filesystem():
|
|
cwd = Path.cwd()
|
|
pkg = cwd / "testpkg"
|
|
pkg.mkdir()
|
|
(pkg / "__init__.py").write_text("")
|
|
(pkg / "mod.py").write_text("def f(): ...\n")
|
|
|
|
out_dir = cwd / "mcp_docs"
|
|
|
|
result = cli_runner.invoke(
|
|
cli,
|
|
[
|
|
"build",
|
|
"--mcp",
|
|
"--module",
|
|
"testpkg",
|
|
"--out-dir",
|
|
str(out_dir),
|
|
],
|
|
)
|
|
|
|
assert result.exit_code == 0
|
|
assert (out_dir / "index.json").exists()
|
|
assert (out_dir / "nav.json").exists()
|
|
assert (out_dir / "modules" / "testpkg.mod.json").exists()
|