diff --git a/tests/integration/test_cli.py b/tests/integration/test_cli.py index 55fbb27..6ffa72d 100644 --- a/tests/integration/test_cli.py +++ b/tests/integration/test_cli.py @@ -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