audit-labs/audit-tools
A collection of scripts, queries, and other goodies you can use in an audit.
clone: git clone https://gitbay.org/audit-labs/audit-tools.git
277c9f5f9fe511bd56e6bd965cafa91aac13b24e
verified · cmc
author: Christian Cleberg <hello@cleberg.net> · 2026-07-29T15:55:46Z
tui/README.md | 6 +++--- tui/platforms.py | 25 +++++++++---------------- tui/tests/test_app.py | 13 ------------- 3 files changed, 12 insertions(+), 32 deletions(-) @@ -4,9 +4,9 @@ A terminal UI that walks you through running an audit. It presents a platform menu, collects connection details and check selection, then runs the existing collectors with live progress. -GitHub, GitLab, and AWS are supported. Azure and Azure DevOps are stubbed in the -menu as *coming soon*. Adding a platform is a matter of writing a runner and a -`Platform` descriptor in `tui/platforms.py` — the screens are platform-agnostic. +GitHub, GitLab, and AWS are supported. Adding a platform is a matter of writing +a runner and a `Platform` descriptor in `tui/platforms.py` — the screens are +platform-agnostic. | Pick a platform | Choose checks | Watch it run | |---|---|---| @@ -31,15 +31,14 @@ class Field: class Platform: key: str label: str - # The fields below drive the audit flow. A disabled ("coming soon") - # placeholder platform needs only key/label/enabled, so they default to - # empty and are never used while enabled is False. - subject: Callable[[dict], str] | None = None # (settings) -> run-screen subject - fields: list[Field] = field(default_factory=list) - checks: list[Check] = field(default_factory=list) - default_selection: list[str] = field(default_factory=list) - output_dir: Callable[[dict], str] | None = None # (settings) -> path - run: Callable[..., object] | None = None # (settings, out, keys, on_event) + subject: Callable[ + [dict], str + ] # (settings) -> audit subject shown on the run screen + fields: list[Field] + checks: list[Check] + default_selection: list[str] + output_dir: Callable[[dict], str] # (settings) -> path + run: Callable[..., object] # (settings, output_dir, selected_keys, on_event) enabled: bool = True note: str = field(default="") @@ -184,13 +183,7 @@ AWS = Platform( run=_aws_run, ) -# Coming soon — placeholders shown as disabled entries in the menu. Azure is the -# cloud counterpart to AWS; Azure DevOps is the source-platform counterpart to -# GitHub/GitLab. -AZURE = Platform(key="azure", label="Azure", enabled=False) -AZURE_DEVOPS = Platform(key="azure_devops", label="Azure DevOps", enabled=False) - -PLATFORMS = [GITHUB, GITLAB, AWS, AZURE, AZURE_DEVOPS] +PLATFORMS = [GITHUB, GITLAB, AWS] def prefill(f: Field) -> str: @@ -165,16 +165,3 @@ def test_aws_navigation(monkeypatch): assert app.screen.query_one("#menu", Button).disabled is False _run(scenario()) - - -def test_azure_platforms_coming_soon(): - async def scenario(): - app = AuditApp() - async with app.run_test(size=(120, 40)) as pilot: - await pilot.pause() - for key in ("azure", "azure_devops"): - btn = app.screen.query_one(f"#{key}", Button) - assert btn.disabled is True - assert "coming soon" in str(btn.label).lower() - - _run(scenario())