Spaces:
Running
Running
File size: 1,655 Bytes
f249c51 fb32419 a79668c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import os
import tempfile
from app.tools.static_analyzer import run_ruff, run_bandit, run_full_analysis
def _make_py_file(tmpdir: str, content: str) -> str:
path = os.path.join(tmpdir, "sample.py")
with open(path, "w") as f:
f.write(content)
return path
def test_run_ruff_clean_file():
with tempfile.TemporaryDirectory() as tmpdir:
_make_py_file(tmpdir, "x = 1\n")
result = run_ruff(tmpdir)
assert result["success"] is True
assert isinstance(result["issues"], list)
def test_run_ruff_detects_issues():
with tempfile.TemporaryDirectory() as tmpdir:
_make_py_file(tmpdir, "import os\nimport sys\nx=1\n")
result = run_ruff(tmpdir)
assert result["success"] is True
def test_run_bandit_clean_file():
with tempfile.TemporaryDirectory() as tmpdir:
_make_py_file(tmpdir, "def add(a, b):\n return a + b\n")
result = run_bandit(tmpdir)
assert result["success"] is True
assert isinstance(result["issues"], list)
def test_run_full_analysis_returns_both():
with tempfile.TemporaryDirectory() as tmpdir:
_make_py_file(tmpdir, "x = 1\n")
result = run_full_analysis(tmpdir)
assert "ruff" in result
assert "bandit" in result
assert "total_issues" in result
assert isinstance(result["total_issues"], int)
def test_run_full_analysis_empty_dir():
with tempfile.TemporaryDirectory() as tmpdir:
result = run_full_analysis(tmpdir)
assert "ruff" in result
assert "bandit" in result
assert "total_issues" in result
assert isinstance(result["total_issues"], int)
assert result["total_issues"] >= 0
|