- Fixed import sorting in cli.py, __main__.py, detectors/__init__.py, base.py, python.py, rust.py, openapi.py, models/__init__.py - Removed unused imports (sys, asyncio, Observer, Text, Parameter, ParameterIn, HTTPMethod, DocConfig, List, Optional) - Removed trailing whitespace from blank lines - Split lines exceeding 100 characters - Added missing __init__ docstrings in generators and static/templates packages
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
"""Integration tests for CLI commands."""
|
||||
{"""Integration tests for CLI commands."""
|
||||
|
||||
import pytest
|
||||
import tempfile
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from typer.testing import CliRunner
|
||||
|
||||
from docgen.cli import app
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ class TestCLIDetect:
|
||||
def test_detect_no_files(self):
|
||||
"""Test detect with empty directory."""
|
||||
runner = CliRunner()
|
||||
|
||||
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
result = runner.invoke(app, ["detect", tmpdir])
|
||||
assert result.exit_code == 0
|
||||
@@ -23,7 +23,7 @@ class TestCLIDetect:
|
||||
def test_detect_python_fastapi(self):
|
||||
"""Test detect with FastAPI code."""
|
||||
runner = CliRunner()
|
||||
|
||||
|
||||
code = '''
|
||||
from fastapi import FastAPI
|
||||
app = FastAPI()
|
||||
@@ -39,7 +39,7 @@ def create_user():
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
py_file = Path(tmpdir) / "main.py"
|
||||
py_file.write_text(code)
|
||||
|
||||
|
||||
result = runner.invoke(app, ["detect", tmpdir])
|
||||
assert result.exit_code == 0
|
||||
assert "Found" in result.output or "endpoints" in result.output.lower()
|
||||
@@ -47,7 +47,7 @@ def create_user():
|
||||
def test_detect_with_framework_filter(self):
|
||||
"""Test detect with specific framework."""
|
||||
runner = CliRunner()
|
||||
|
||||
|
||||
code = '''
|
||||
from flask import Flask
|
||||
app = Flask(__name__)
|
||||
@@ -59,7 +59,7 @@ def get_items():
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
py_file = Path(tmpdir) / "app.py"
|
||||
py_file.write_text(code)
|
||||
|
||||
|
||||
result = runner.invoke(app, ["detect", tmpdir, "--framework", "python"])
|
||||
assert result.exit_code == 0
|
||||
|
||||
@@ -70,7 +70,7 @@ class TestCLIGenerate:
|
||||
def test_generate_html(self):
|
||||
"""Test HTML generation."""
|
||||
runner = CliRunner()
|
||||
|
||||
|
||||
code = '''
|
||||
from fastapi import FastAPI
|
||||
app = FastAPI()
|
||||
@@ -82,7 +82,7 @@ def get_users():
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
py_file = Path(tmpdir) / "main.py"
|
||||
py_file.write_text(code)
|
||||
|
||||
|
||||
output_dir = Path(tmpdir) / "docs"
|
||||
result = runner.invoke(app, [
|
||||
"generate",
|
||||
@@ -90,7 +90,7 @@ def get_users():
|
||||
"--output", str(output_dir),
|
||||
"--format", "html",
|
||||
])
|
||||
|
||||
|
||||
assert result.exit_code == 0
|
||||
assert output_dir.exists()
|
||||
assert (output_dir / "index.html").exists()
|
||||
@@ -98,7 +98,7 @@ def get_users():
|
||||
def test_generate_markdown(self):
|
||||
"""Test Markdown generation."""
|
||||
runner = CliRunner()
|
||||
|
||||
|
||||
code = '''
|
||||
from fastapi import FastAPI
|
||||
app = FastAPI()
|
||||
@@ -110,7 +110,7 @@ def get_items():
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
py_file = Path(tmpdir) / "main.py"
|
||||
py_file.write_text(code)
|
||||
|
||||
|
||||
output_dir = Path(tmpdir) / "docs"
|
||||
result = runner.invoke(app, [
|
||||
"generate",
|
||||
@@ -118,14 +118,14 @@ def get_items():
|
||||
"--output", str(output_dir),
|
||||
"--format", "markdown",
|
||||
])
|
||||
|
||||
|
||||
assert result.exit_code == 0
|
||||
assert (output_dir / "README.md").exists()
|
||||
|
||||
def test_generate_openapi(self):
|
||||
"""Test OpenAPI generation."""
|
||||
runner = CliRunner()
|
||||
|
||||
|
||||
code = '''
|
||||
from fastapi import FastAPI
|
||||
app = FastAPI()
|
||||
@@ -137,7 +137,7 @@ def get_products():
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
py_file = Path(tmpdir) / "main.py"
|
||||
py_file.write_text(code)
|
||||
|
||||
|
||||
output_dir = Path(tmpdir) / "api"
|
||||
result = runner.invoke(app, [
|
||||
"generate",
|
||||
@@ -145,14 +145,14 @@ def get_products():
|
||||
"--output", str(output_dir),
|
||||
"--format", "openapi",
|
||||
])
|
||||
|
||||
|
||||
assert result.exit_code == 0
|
||||
assert (output_dir / "openapi.json").exists()
|
||||
|
||||
def test_generate_with_custom_title(self):
|
||||
"""Test generation with custom title."""
|
||||
runner = CliRunner()
|
||||
|
||||
|
||||
code = '''
|
||||
from fastapi import FastAPI
|
||||
app = FastAPI()
|
||||
@@ -164,7 +164,7 @@ def get_test():
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
py_file = Path(tmpdir) / "main.py"
|
||||
py_file.write_text(code)
|
||||
|
||||
|
||||
output_dir = Path(tmpdir) / "docs"
|
||||
result = runner.invoke(app, [
|
||||
"generate",
|
||||
@@ -174,7 +174,7 @@ def get_test():
|
||||
"--description", "A custom API description",
|
||||
"--version", "2.0.0",
|
||||
])
|
||||
|
||||
|
||||
assert result.exit_code == 0
|
||||
content = (output_dir / "index.html").read_text()
|
||||
assert "My Custom API" in content
|
||||
@@ -188,10 +188,10 @@ class TestCLIInit:
|
||||
def test_init_creates_config(self):
|
||||
"""Test init command creates configuration file."""
|
||||
runner = CliRunner()
|
||||
|
||||
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
result = runner.invoke(app, ["init", "--output", tmpdir])
|
||||
|
||||
|
||||
assert result.exit_code == 0
|
||||
config_file = Path(tmpdir) / "docgen.toml"
|
||||
assert config_file.exists()
|
||||
@@ -204,6 +204,6 @@ class TestCLIVersion:
|
||||
"""Test version command displays version."""
|
||||
runner = CliRunner()
|
||||
result = runner.invoke(app, ["version"])
|
||||
|
||||
|
||||
assert result.exit_code == 0
|
||||
assert "DocGen-CLI" in result.output
|
||||
|
||||
Reference in New Issue
Block a user