Establish AAISA research foundation
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from contextlib import redirect_stderr, redirect_stdout
|
||||
from io import StringIO
|
||||
import json
|
||||
from pathlib import Path
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
from aaisa.cli import main
|
||||
|
||||
|
||||
class CliTests(unittest.TestCase):
|
||||
def test_clean_scan_returns_zero(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
Path(directory, "safe.txt").write_text("ordinary content\n", encoding="utf-8")
|
||||
output = StringIO()
|
||||
with redirect_stdout(output):
|
||||
result = main(["scan", directory])
|
||||
self.assertEqual(result, 0)
|
||||
self.assertEqual(json.loads(output.getvalue())["summary"]["finding_count"], 0)
|
||||
|
||||
def test_finding_returns_one(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
Path(directory, "requirements.txt").write_text("requests>=2\n", encoding="utf-8")
|
||||
with redirect_stdout(StringIO()):
|
||||
self.assertEqual(main(["scan", directory]), 1)
|
||||
|
||||
def test_missing_path_returns_two(self) -> None:
|
||||
with redirect_stderr(StringIO()):
|
||||
self.assertEqual(main(["scan", "/definitely/missing/aaisa-path"]), 2)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user