Skip to content

Commit f5ecae5

Browse files
authored
FEAT: print full scenario result ID in pyrit_scan and pyrit_shell (#2334)
1 parent 3fa1bbf commit f5ecae5

4 files changed

Lines changed: 6 additions & 3 deletions

File tree

pyrit/cli/_output.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -433,10 +433,9 @@ def print_scenario_runs_list(*, runs: list[ScenarioRunSummary]) -> None:
433433
print("\nScenario Run History:")
434434
print("=" * 80)
435435
for idx, run in enumerate(runs, start=1):
436-
rid = run.scenario_result_id[:8]
437436
created = run.created_at.isoformat() if run.created_at else "?"
438437
print(
439-
f" {idx}) [{run.status.value}] {run.scenario_name} (id: {rid}) — "
438+
f" {idx}) [{run.status.value}] {run.scenario_name} (id: {run.scenario_result_id}) — "
440439
f"{run.total_attacks} attacks, {run.objective_achieved_rate}% success — {created}"
441440
)
442441
print("=" * 80)

pyrit/output/scenario_result/pretty.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ async def render_async(self, result: ScenarioResult) -> str:
139139
lines.append(self._render_section_header("Scenario Information"))
140140
lines.append(self._format_colored(f"{self._indent}📋 Scenario Details", Style.BRIGHT))
141141
lines.append(self._format_colored(f"{self._indent * 2}• Name: {result.scenario_name}", Fore.CYAN))
142+
lines.append(self._format_colored(f"{self._indent * 2}• Result ID: {result.id}", Fore.CYAN))
142143
lines.append(
143144
self._format_colored(f"{self._indent * 2}• Scenario Version: {result.scenario_version}", Fore.CYAN)
144145
)

tests/unit/cli/test_output.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,9 @@ def test_print_scenario_runs_list_populated(capsys):
700700
captured = capsys.readouterr()
701701
assert "scen-a" in captured.out
702702
assert "scen-b" in captured.out
703-
assert "abcdefgh" in captured.out
703+
assert "abcdefgh1234" in captured.out
704+
assert "ijklmnop5678" in captured.out
705+
assert "…" not in captured.out
704706
assert "Total runs: 2" in captured.out
705707

706708

tests/unit/output/scenario_result/test_pretty.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ async def test_write_async_renders_full_summary(printer, capsys):
6969
assert "SCENARIO RESULTS" in out
7070
assert "TestScenario" in out
7171
assert "Scenario Information" in out
72+
assert f"Result ID: {result.id}" in out
7273
assert "Description" in out
7374
assert "Target Type: MockTarget" in out
7475
assert "gpt-test" in out

0 commit comments

Comments
 (0)