mirror of
https://github.com/langgenius/dify.git
synced 2026-05-09 12:59:18 +08:00
fix api docs cleanup
This commit is contained in:
parent
bace060c6a
commit
35dcd1e07f
@ -9,7 +9,6 @@ from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
@ -116,11 +115,8 @@ def generate_markdown_docs(
|
||||
(markdown_dir / STALE_COMBINED_MARKDOWN_FILENAME).unlink(missing_ok=True)
|
||||
finally:
|
||||
if not keep_swagger_json:
|
||||
if swagger_dir == markdown_dir or markdown_dir.is_relative_to(swagger_dir):
|
||||
for path in spec_paths:
|
||||
path.unlink(missing_ok=True)
|
||||
else:
|
||||
shutil.rmtree(swagger_dir, ignore_errors=True)
|
||||
for path in spec_paths:
|
||||
path.unlink(missing_ok=True)
|
||||
|
||||
return written_paths
|
||||
|
||||
|
||||
@ -65,3 +65,39 @@ def test_generate_markdown_docs_keeps_split_docs_and_merges_fastopenapi_into_con
|
||||
assert "#### Routes" in console_markdown
|
||||
assert "FastOpenAPI Preview" not in (markdown_dir / "web-swagger.md").read_text(encoding="utf-8")
|
||||
assert "FastOpenAPI Preview" not in (markdown_dir / "service-swagger.md").read_text(encoding="utf-8")
|
||||
|
||||
|
||||
def test_generate_markdown_docs_only_removes_generated_specs_from_separate_swagger_dir(tmp_path, monkeypatch):
|
||||
module = _load_generate_swagger_markdown_docs_module()
|
||||
swagger_dir = tmp_path / "swagger"
|
||||
markdown_dir = tmp_path / "markdown"
|
||||
swagger_dir.mkdir()
|
||||
existing_file = swagger_dir / "existing.txt"
|
||||
existing_file.write_text("keep me", encoding="utf-8")
|
||||
|
||||
def write_specs(output_dir: Path) -> list[Path]:
|
||||
output_dir.mkdir(parents=True, exist_ok=True)
|
||||
paths = []
|
||||
for target in module.SPEC_TARGETS:
|
||||
path = output_dir / target.filename
|
||||
path.write_text("{}", encoding="utf-8")
|
||||
paths.append(path)
|
||||
return paths
|
||||
|
||||
def write_fastopenapi_specs(output_dir: Path) -> list[Path]:
|
||||
output_dir.mkdir(parents=True, exist_ok=True)
|
||||
path = output_dir / module.FASTOPENAPI_SPEC_TARGETS[0].filename
|
||||
path.write_text("{}", encoding="utf-8")
|
||||
return [path]
|
||||
|
||||
def convert_spec_to_markdown(spec_path: Path, markdown_path: Path) -> None:
|
||||
markdown_path.write_text(f"# {spec_path.stem}\n", encoding="utf-8")
|
||||
|
||||
monkeypatch.setattr(module, "generate_specs", write_specs)
|
||||
monkeypatch.setattr(module, "generate_fastopenapi_specs", write_fastopenapi_specs)
|
||||
monkeypatch.setattr(module, "_convert_spec_to_markdown", convert_spec_to_markdown)
|
||||
|
||||
module.generate_markdown_docs(swagger_dir, markdown_dir)
|
||||
|
||||
assert existing_file.read_text(encoding="utf-8") == "keep me"
|
||||
assert not list(swagger_dir.glob("*.json"))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user