From 9c834cd8fc43a878dd5578b1db5efadcc8085aa6 Mon Sep 17 00:00:00 2001 From: oritwoen <18102267+oritwoen@users.noreply.github.com> Date: Tue, 24 Mar 2026 15:41:39 +0100 Subject: [PATCH] fix(cli): reject unknown collections in list --- src/cli.rs | 10 +++++++++- tests/cli.rs | 10 ++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/cli.rs b/src/cli.rs index f97b72a..c87c934 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -1225,7 +1225,15 @@ fn cmd_list( "gsmg" => gsmg::all().collect(), "hash_collision" | "peter_todd" => hash_collision::all().collect(), "zden" => zden::all().collect(), - _ => boha::all().collect(), + "all" => boha::all().collect(), + _ => { + eprintln!( + "{} Unknown collection: {}. Use: arweave, b1000, ballet, bitaps, bitimage, gsmg, hash_collision (peter_todd), zden, all", + "Error:".red().bold(), + collection + ); + std::process::exit(1); + } }; let filtered: Vec<_> = puzzles diff --git a/tests/cli.rs b/tests/cli.rs index 078a45f..ddd9e3e 100644 --- a/tests/cli.rs +++ b/tests/cli.rs @@ -164,6 +164,16 @@ mod list { .stdout(predicate::str::contains("\"id\": \"gsmg\"")) .stdout(predicate::str::contains("\"address\":")); } + + #[test] + fn unknown_collection_error() { + boha() + .args(["list", "unknown"]) + .assert() + .failure() + .stderr(predicate::str::contains("Error:")) + .stderr(predicate::str::contains("Unknown collection")); + } } mod show {