From e53a767f3ebc6d6d362bbb9b15d2b36bdf812005 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Thu, 4 May 2023 21:25:40 +0200 Subject: [PATCH] chore(cli): add details to --nat help message (#2562) --- bin/reth/src/args/network_args.rs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/bin/reth/src/args/network_args.rs b/bin/reth/src/args/network_args.rs index f42fa76eb6..23a995f0f7 100644 --- a/bin/reth/src/args/network_args.rs +++ b/bin/reth/src/args/network_args.rs @@ -47,7 +47,8 @@ pub struct NetworkArgs { #[arg(long, verbatim_doc_comment)] pub no_persist_peers: bool, - /// NAT resolution method. + #[allow(rustdoc::invalid_html_tags)] + /// NAT resolution method (any|none|upnp|publicip|extip:) #[arg(long, default_value = "any")] pub nat: NatResolver, @@ -131,3 +132,25 @@ impl DiscoveryArgs { network_config_builder } } + +#[cfg(test)] +mod tests { + use super::*; + use clap::Parser; + /// A helper type to parse Args more easily + #[derive(Parser)] + struct CommandParser { + #[clap(flatten)] + args: T, + } + + #[test] + fn parse_nat_args() { + let args = CommandParser::::parse_from(["reth", "--nat", "none"]).args; + assert_eq!(args.nat, NatResolver::None); + + let args = + CommandParser::::parse_from(["reth", "--nat", "extip:0.0.0.0"]).args; + assert_eq!(args.nat, NatResolver::ExternalIp("0.0.0.0".parse().unwrap())); + } +}