lighthouse-pulse/lighthouse/environment/tests/environment_builder.rs
Paul Hauner 36d3d37cb4 Add support for multiple testnet flags (#1396)
## Issue Addressed

NA

## Proposed Changes

Allows for multiple "hardcoded" testnets.

## Additional Info

This PR is incomplete.

## TODO

- [x] Add flag to CLI, integrate with rest of Lighthouse.


Co-authored-by: Pawan Dhananjay <pawandhananjay@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2020-07-29 06:39:29 +00:00

45 lines
1.3 KiB
Rust

#![cfg(test)]
use environment::EnvironmentBuilder;
use eth2_testnet_config::Eth2TestnetConfig;
use std::path::PathBuf;
use types::{Epoch, MainnetEthSpec, YamlConfig};
fn builder() -> EnvironmentBuilder<MainnetEthSpec> {
EnvironmentBuilder::mainnet()
.single_thread_tokio_runtime()
.expect("should set runtime")
.null_logger()
.expect("should set logger")
}
fn eth2_testnet_config() -> Option<Eth2TestnetConfig<MainnetEthSpec>> {
Eth2TestnetConfig::hard_coded_default().expect("should decode hard_coded params")
}
mod setup_eth2_config {
use super::*;
#[test]
fn update_spec_with_yaml_config() {
if let Some(mut eth2_testnet_config) = eth2_testnet_config() {
let config_yaml = PathBuf::from("./tests/testnet_dir/config.yaml");
eth2_testnet_config.yaml_config = Some(
YamlConfig::from_file(config_yaml.as_path()).expect("should load yaml config"),
);
let environment = builder()
.eth2_testnet_config(eth2_testnet_config)
.expect("should setup eth2_config")
.build()
.expect("should build environment");
assert_eq!(
environment.eth2_config.spec.far_future_epoch,
Epoch::new(999) // see testnet_dir/config.yaml
);
}
}
}