From eccafd1bedb781bb86ef875ae79d5515bfc94c8a Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Wed, 22 Feb 2023 13:05:16 +0100 Subject: [PATCH] test(cli): add chain args test (#1488) --- bin/reth/src/args/rpc_server_args.rs | 3 +-- bin/reth/src/chain/import.rs | 14 ++++++++++++++ bin/reth/src/node/mod.rs | 14 +++++++++++++- crates/staged-sync/src/utils/chainspec.rs | 13 +++++++++++++ 4 files changed, 41 insertions(+), 3 deletions(-) diff --git a/bin/reth/src/args/rpc_server_args.rs b/bin/reth/src/args/rpc_server_args.rs index acdfd0cad3..7624ed5a16 100644 --- a/bin/reth/src/args/rpc_server_args.rs +++ b/bin/reth/src/args/rpc_server_args.rs @@ -167,10 +167,9 @@ impl RpcServerArgs { #[cfg(test)] mod tests { - use std::net::SocketAddrV4; - use super::*; use clap::Parser; + use std::net::SocketAddrV4; /// A helper type to parse Args more easily #[derive(Parser)] diff --git a/bin/reth/src/chain/import.rs b/bin/reth/src/chain/import.rs index a9499e65e7..f5008f2da9 100644 --- a/bin/reth/src/chain/import.rs +++ b/bin/reth/src/chain/import.rs @@ -173,3 +173,17 @@ impl ImportCommand { confy::load_path::(&self.config).wrap_err("Could not load config") } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn parse_common_import_command_chain_args() { + for chain in ["mainnet", "sepolia", "goerli"] { + let args: ImportCommand = + ImportCommand::parse_from(["reth", "--chain", chain, "--path", "."]); + assert_eq!(args.chain.chain, chain.parse().unwrap()); + } + } +} diff --git a/bin/reth/src/node/mod.rs b/bin/reth/src/node/mod.rs index 2b0e22b3f7..47496e87fa 100644 --- a/bin/reth/src/node/mod.rs +++ b/bin/reth/src/node/mod.rs @@ -36,7 +36,6 @@ use reth_network::{ use reth_network_api::NetworkInfo; use reth_primitives::{BlockNumber, ChainSpec, Head, H256}; use reth_provider::{BlockProvider, HeaderProvider, ShareableDatabase}; - use reth_staged_sync::{ utils::{ chainspec::genesis_value_parser, @@ -500,3 +499,16 @@ pub async fn handle_events(mut events: impl Stream + Unpin) { } } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn parse_common_node_command_chain_args() { + for chain in ["mainnet", "sepolia", "goerli"] { + let args: Command = Command::parse_from(["reth", "--chain", chain]); + assert_eq!(args.chain.chain, chain.parse().unwrap()); + } + } +} diff --git a/crates/staged-sync/src/utils/chainspec.rs b/crates/staged-sync/src/utils/chainspec.rs index 76a6401d29..27151bbbd9 100644 --- a/crates/staged-sync/src/utils/chainspec.rs +++ b/crates/staged-sync/src/utils/chainspec.rs @@ -29,3 +29,16 @@ pub fn genesis_value_parser(s: &str) -> Result { } }) } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn parse_chain_spec() { + for chain in ["mainnet", "sepolia", "goerli"] { + chain_spec_value_parser(chain).unwrap(); + genesis_value_parser(chain).unwrap(); + } + } +}