Skip to content

Harden OpenSRE CLI Test Inventory and User Experience #172

@davincios

Description

@davincios

Goal:

  • Make opensre tests discovery more reliable, improve missing-dependency UX, and add focused test coverage for catalog stability, filtering, and execution.

Key areas:

  • discover.py — tighten discovery so catalog entries are less dependent on hand-curated Makefile assumptions
  • interactive.py / main.py — clearer fallback/error paths; non-interactive commands work when TUI deps are missing
  • runner.py — consistent behavior for dry-run, unknown IDs, and non-runnable items
  • cli_inventory_test.py — cover missing-dep fallback, category/search filtering, stable IDs, command rendering

Verify: pytest + make lint + make typecheck

User experience:

  • Terminal is easy to navigate and clear
  • Graceful degradation — missing TUI dependencies surface a clear, actionable message instead of a traceback; the CLI never feels broken, just reduced
  • Always-on discovery — opensre tests list works in every environment: CI, containers, bare terminals, full desktop
  • Helpful errors — invalid IDs or non-runnable items respond with what went wrong, what was received, and what to try instead

Done when:

  • opensre tests list works without interactive prompt deps
  • Suite/scenario IDs are stable
  • Interactive and non-interactive paths fail predictably with helpful messages
  • Test coverage exists for discovery, filtering, dry-run, and fallback

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions