Spaces:
Running
Running
| 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 | |