Files
depaudit-cli/tests/unit/test_cli.py
7000pctAUTO 754b334acd
Some checks failed
CI / test (push) Has been cancelled
fix: resolve CI linting failures
2026-02-02 21:50:40 +00:00

76 lines
2.2 KiB
Python

from unittest.mock import patch
from click.testing import CliRunner
from pathlib import Path
import tempfile
import json
@pytest.fixture
def runner():
return CliRunner()
class TestCLI:
def test_version_option(self, runner):
from depaudit.cli import main
result = runner.invoke(main, ["--version"])
assert result.exit_code == 0
assert "1.0.0" in result.output
def test_audit_command_exists(self, runner):
from depaudit.cli import main
result = runner.invoke(main, ["--help"])
assert result.exit_code == 0
assert "audit" in result.output.lower()
class TestAuditCommand:
def test_audit_no_path(self, runner):
from depaudit.cli import audit
with tempfile.TemporaryDirectory() as tmpdir:
result = runner.invoke(audit, [tmpdir])
assert result.exit_code == 0
def test_audit_single_file(self, runner):
from depaudit.cli import audit
with tempfile.TemporaryDirectory() as tmpdir:
pkg_file = Path(tmpdir) / "package.json"
pkg_file.write_text(json.dumps({
"name": "test",
"version": "1.0.0",
"dependencies": {}
}))
result = runner.invoke(audit, [str(pkg_file)])
assert result.exit_code == 0
class TestGenerateCICDCommand:
def test_generate_github_workflow(self, runner):
from depaudit.cli import generate_cicd
with tempfile.TemporaryDirectory() as tmpdir:
result = runner.invoke(generate_cicd, ["github", tmpdir])
assert result.exit_code == 0
class TestParseCommand:
def test_parse_package_json(self, runner):
from depaudit.cli import parse
with tempfile.TemporaryDirectory() as tmpdir:
pkg_file = Path(tmpdir) / "package.json"
pkg_file.write_text(json.dumps({
"name": "test-project",
"version": "1.0.0",
"dependencies": {"express": "^4.0.0"}
}))
result = runner.invoke(parse, [str(pkg_file)])
assert result.exit_code == 0
assert "test-project" in result.output