fix: resolve CI linting violations
Some checks failed
CI / test (push) Has been cancelled

- 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:
2026-01-31 17:26:23 +00:00
parent 7a2a30dc5d
commit de36111b6d

View File

@@ -1,10 +1,10 @@
"""Integration tests for CLI commands.""" {"""Integration tests for CLI commands."""
import pytest
import tempfile import tempfile
import os
from pathlib import Path from pathlib import Path
from typer.testing import CliRunner from typer.testing import CliRunner
from docgen.cli import app from docgen.cli import app
@@ -14,7 +14,7 @@ class TestCLIDetect:
def test_detect_no_files(self): def test_detect_no_files(self):
"""Test detect with empty directory.""" """Test detect with empty directory."""
runner = CliRunner() runner = CliRunner()
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
result = runner.invoke(app, ["detect", tmpdir]) result = runner.invoke(app, ["detect", tmpdir])
assert result.exit_code == 0 assert result.exit_code == 0
@@ -23,7 +23,7 @@ class TestCLIDetect:
def test_detect_python_fastapi(self): def test_detect_python_fastapi(self):
"""Test detect with FastAPI code.""" """Test detect with FastAPI code."""
runner = CliRunner() runner = CliRunner()
code = ''' code = '''
from fastapi import FastAPI from fastapi import FastAPI
app = FastAPI() app = FastAPI()
@@ -39,7 +39,7 @@ def create_user():
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
py_file = Path(tmpdir) / "main.py" py_file = Path(tmpdir) / "main.py"
py_file.write_text(code) py_file.write_text(code)
result = runner.invoke(app, ["detect", tmpdir]) result = runner.invoke(app, ["detect", tmpdir])
assert result.exit_code == 0 assert result.exit_code == 0
assert "Found" in result.output or "endpoints" in result.output.lower() 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): def test_detect_with_framework_filter(self):
"""Test detect with specific framework.""" """Test detect with specific framework."""
runner = CliRunner() runner = CliRunner()
code = ''' code = '''
from flask import Flask from flask import Flask
app = Flask(__name__) app = Flask(__name__)
@@ -59,7 +59,7 @@ def get_items():
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
py_file = Path(tmpdir) / "app.py" py_file = Path(tmpdir) / "app.py"
py_file.write_text(code) py_file.write_text(code)
result = runner.invoke(app, ["detect", tmpdir, "--framework", "python"]) result = runner.invoke(app, ["detect", tmpdir, "--framework", "python"])
assert result.exit_code == 0 assert result.exit_code == 0
@@ -70,7 +70,7 @@ class TestCLIGenerate:
def test_generate_html(self): def test_generate_html(self):
"""Test HTML generation.""" """Test HTML generation."""
runner = CliRunner() runner = CliRunner()
code = ''' code = '''
from fastapi import FastAPI from fastapi import FastAPI
app = FastAPI() app = FastAPI()
@@ -82,7 +82,7 @@ def get_users():
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
py_file = Path(tmpdir) / "main.py" py_file = Path(tmpdir) / "main.py"
py_file.write_text(code) py_file.write_text(code)
output_dir = Path(tmpdir) / "docs" output_dir = Path(tmpdir) / "docs"
result = runner.invoke(app, [ result = runner.invoke(app, [
"generate", "generate",
@@ -90,7 +90,7 @@ def get_users():
"--output", str(output_dir), "--output", str(output_dir),
"--format", "html", "--format", "html",
]) ])
assert result.exit_code == 0 assert result.exit_code == 0
assert output_dir.exists() assert output_dir.exists()
assert (output_dir / "index.html").exists() assert (output_dir / "index.html").exists()
@@ -98,7 +98,7 @@ def get_users():
def test_generate_markdown(self): def test_generate_markdown(self):
"""Test Markdown generation.""" """Test Markdown generation."""
runner = CliRunner() runner = CliRunner()
code = ''' code = '''
from fastapi import FastAPI from fastapi import FastAPI
app = FastAPI() app = FastAPI()
@@ -110,7 +110,7 @@ def get_items():
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
py_file = Path(tmpdir) / "main.py" py_file = Path(tmpdir) / "main.py"
py_file.write_text(code) py_file.write_text(code)
output_dir = Path(tmpdir) / "docs" output_dir = Path(tmpdir) / "docs"
result = runner.invoke(app, [ result = runner.invoke(app, [
"generate", "generate",
@@ -118,14 +118,14 @@ def get_items():
"--output", str(output_dir), "--output", str(output_dir),
"--format", "markdown", "--format", "markdown",
]) ])
assert result.exit_code == 0 assert result.exit_code == 0
assert (output_dir / "README.md").exists() assert (output_dir / "README.md").exists()
def test_generate_openapi(self): def test_generate_openapi(self):
"""Test OpenAPI generation.""" """Test OpenAPI generation."""
runner = CliRunner() runner = CliRunner()
code = ''' code = '''
from fastapi import FastAPI from fastapi import FastAPI
app = FastAPI() app = FastAPI()
@@ -137,7 +137,7 @@ def get_products():
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
py_file = Path(tmpdir) / "main.py" py_file = Path(tmpdir) / "main.py"
py_file.write_text(code) py_file.write_text(code)
output_dir = Path(tmpdir) / "api" output_dir = Path(tmpdir) / "api"
result = runner.invoke(app, [ result = runner.invoke(app, [
"generate", "generate",
@@ -145,14 +145,14 @@ def get_products():
"--output", str(output_dir), "--output", str(output_dir),
"--format", "openapi", "--format", "openapi",
]) ])
assert result.exit_code == 0 assert result.exit_code == 0
assert (output_dir / "openapi.json").exists() assert (output_dir / "openapi.json").exists()
def test_generate_with_custom_title(self): def test_generate_with_custom_title(self):
"""Test generation with custom title.""" """Test generation with custom title."""
runner = CliRunner() runner = CliRunner()
code = ''' code = '''
from fastapi import FastAPI from fastapi import FastAPI
app = FastAPI() app = FastAPI()
@@ -164,7 +164,7 @@ def get_test():
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
py_file = Path(tmpdir) / "main.py" py_file = Path(tmpdir) / "main.py"
py_file.write_text(code) py_file.write_text(code)
output_dir = Path(tmpdir) / "docs" output_dir = Path(tmpdir) / "docs"
result = runner.invoke(app, [ result = runner.invoke(app, [
"generate", "generate",
@@ -174,7 +174,7 @@ def get_test():
"--description", "A custom API description", "--description", "A custom API description",
"--version", "2.0.0", "--version", "2.0.0",
]) ])
assert result.exit_code == 0 assert result.exit_code == 0
content = (output_dir / "index.html").read_text() content = (output_dir / "index.html").read_text()
assert "My Custom API" in content assert "My Custom API" in content
@@ -188,10 +188,10 @@ class TestCLIInit:
def test_init_creates_config(self): def test_init_creates_config(self):
"""Test init command creates configuration file.""" """Test init command creates configuration file."""
runner = CliRunner() runner = CliRunner()
with tempfile.TemporaryDirectory() as tmpdir: with tempfile.TemporaryDirectory() as tmpdir:
result = runner.invoke(app, ["init", "--output", tmpdir]) result = runner.invoke(app, ["init", "--output", tmpdir])
assert result.exit_code == 0 assert result.exit_code == 0
config_file = Path(tmpdir) / "docgen.toml" config_file = Path(tmpdir) / "docgen.toml"
assert config_file.exists() assert config_file.exists()
@@ -204,6 +204,6 @@ class TestCLIVersion:
"""Test version command displays version.""" """Test version command displays version."""
runner = CliRunner() runner = CliRunner()
result = runner.invoke(app, ["version"]) result = runner.invoke(app, ["version"])
assert result.exit_code == 0 assert result.exit_code == 0
assert "DocGen-CLI" in result.output assert "DocGen-CLI" in result.output