Skip to content

Commit

Permalink
Add cli block-generation-on tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Mikołaj Woźniak committed Jun 17, 2024
1 parent 30ecabb commit c1290f7
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
7 changes: 6 additions & 1 deletion crates/starknet-devnet-core/src/starknet/starknet_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,12 @@ impl std::str::FromStr for BlockGenerationOn {
let interval_value = value
.parse::<u64>()
.map_err(|_| Error::new(clap::error::ErrorKind::InvalidValue))?;
Ok(BlockGenerationOn::Interval(interval_value))

if interval_value > 0 {
Ok(BlockGenerationOn::Interval(interval_value))
} else {
Err(Error::new(clap::error::ErrorKind::InvalidValue))
}
}
}
}
Expand Down
30 changes: 29 additions & 1 deletion crates/starknet-devnet/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ mod tests {
use starknet_core::constants::{
CAIRO_0_ERC20_CONTRACT_PATH, CAIRO_1_ACCOUNT_CONTRACT_SIERRA_PATH,
};
use starknet_core::starknet::starknet_config::StateArchiveCapacity;
use starknet_core::starknet::starknet_config::{BlockGenerationOn, StateArchiveCapacity};
use tracing_subscriber::EnvFilter;

use super::{Args, RequestResponseLogging};
Expand Down Expand Up @@ -592,4 +592,32 @@ mod tests {
std::env::remove_var(var_name);
}
}

#[test]
fn not_allowing_invalid_values_as_block_generation_interval() {
for interval in ["", "0", "-1", "abc"] {
match Args::try_parse_from(["--", "--block-generation-on", interval]) {
Err(_) => (),
Ok(parsed) => panic!("Should fail for {interval}; got: {parsed:?}"),
}
}
}

#[test]
fn allowing_valid_values_as_block_generation_interval() {
match Args::try_parse_from(["--", "--block-generation-on", "1"]) {
Ok(args) => assert_eq!(args.block_generation_on, BlockGenerationOn::Interval(1)),
Err(e) => panic!("Should have passed; got: {e}"),
}

match Args::try_parse_from(["--", "--block-generation-on", "demand"]) {
Ok(args) => assert_eq!(args.block_generation_on, BlockGenerationOn::Demand),
Err(e) => panic!("Should have passed; got: {e}"),
}

match Args::try_parse_from(["--", "--block-generation-on", "transaction"]) {
Ok(args) => assert_eq!(args.block_generation_on, BlockGenerationOn::Transaction),
Err(e) => panic!("Should have passed; got: {e}"),
}
}
}

0 comments on commit c1290f7

Please sign in to comment.