radicle_cli/commands/block/
args.rs1use clap::Parser;
2
3use crate::terminal::args::BlockTarget;
4
5const ABOUT: &str = "Block repositories or nodes from being seeded or followed";
6
7#[derive(Parser, Debug)]
8#[command(about = ABOUT, disable_version_flag = true)]
9pub struct Args {
10 #[arg(value_name = "RID|NID")]
14 pub(super) target: BlockTarget,
15}
16
17#[cfg(test)]
18mod test {
19 use clap::error::ErrorKind;
20 use clap::Parser;
21
22 use super::Args;
23
24 #[test]
25 fn should_parse_nid() {
26 let args =
27 Args::try_parse_from(["block", "z6MkiswaKJ85vafhffCGBu2gdBsYoDAyHVBWRxL3j297fwS9"]);
28 assert!(args.is_ok())
29 }
30
31 #[test]
32 fn should_parse_rid() {
33 let args = Args::try_parse_from(["block", "rad:z3Tr6bC7ctEg2EHmLvknUr29mEDLH"]);
34 assert!(args.is_ok())
35 }
36
37 #[test]
38 fn should_not_parse() {
39 let err = Args::try_parse_from(["block", "bee"]).unwrap_err();
40 assert_eq!(err.kind(), ErrorKind::ValueValidation);
41 }
42}