From bf1437553ce033af9738ac0e05dd148fd0c79132 Mon Sep 17 00:00:00 2001 From: Jose Celano Date: Wed, 24 Jan 2024 15:07:00 +0000 Subject: [PATCH] refactor: [#634] extract funtions --- src/e2e/runner.rs | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/e2e/runner.rs b/src/e2e/runner.rs index 5c085a922..710ea1e73 100644 --- a/src/e2e/runner.rs +++ b/src/e2e/runner.rs @@ -14,25 +14,24 @@ use crate::e2e::logs::RunningServices; use crate::e2e::temp_dir::Handler; pub const NUMBER_OF_ARGUMENTS: usize = 2; +const CONTAINER_TAG: &str = "torrust-tracker:local"; +const TRACKER_CHECKER_CONFIG_FILE: &str = "tracker_checker.json"; + +pub struct Arguments { + pub tracker_config_path: String, +} /// # Panics /// /// Will panic if it can't not perform any of the operations. pub fn run() { - // todo: const - let container_tag: &str = "torrust-tracker:local"; - let tracker_checker_config_file = "tracker_checker.json"; - - setup_logging(LevelFilter::Info); + setup_runner_logging(LevelFilter::Info); let args = parse_arguments(); - // Setup tracker configuration - info!("Reading tracker configuration from file: {} ...", args.tracker_config_path); - let tracker_config = read_tracker_config(&args.tracker_config_path); + let tracker_config = load_tracker_configuration(&args.tracker_config_path); - // Build tracker container image - Docker::build("./Containerfile", container_tag).expect("A tracker local docker image should be built"); + build_tracker_container_image(CONTAINER_TAG); // Create temp dir info!( @@ -57,7 +56,7 @@ pub fn run() { "1313:1313/tcp".to_string(), ]; let container = - Docker::run(container_tag, &container_name, &env_vars, &ports).expect("A tracker local docker image should be running"); + Docker::run(CONTAINER_TAG, &container_name, &env_vars, &ports).expect("A tracker local docker image should be running"); info!("Waiting for the container {container_name} to be healthy ..."); let is_healthy = Docker::wait_until_is_healthy(&container_name, Duration::from_secs(10)); @@ -80,7 +79,7 @@ pub fn run() { // Write tracker_checker configuration file let mut absolute_tracker_checker_config_path = PathBuf::from(&temp_dir_handler.temp_dir.path()); - absolute_tracker_checker_config_path.push(tracker_checker_config_file); + absolute_tracker_checker_config_path.push(TRACKER_CHECKER_CONFIG_FILE); let mut file = File::create(absolute_tracker_checker_config_path.clone()).expect("Tracker checker config file to be created"); file.write_all(json.as_bytes()) @@ -104,7 +103,7 @@ pub fn run() { info!("Running container `{}` will be automatically removed", container.name); } -fn setup_logging(level: LevelFilter) { +fn setup_runner_logging(level: LevelFilter) { if let Err(_err) = fern::Dispatch::new() .format(|out, message, record| { out.finish(format_args!( @@ -125,10 +124,6 @@ fn setup_logging(level: LevelFilter) { debug!("logging initialized."); } -pub struct Arguments { - pub tracker_config_path: String, -} - fn parse_arguments() -> Arguments { let args: Vec = std::env::args().collect(); @@ -145,11 +140,21 @@ fn parse_arguments() -> Arguments { } } +fn load_tracker_configuration(tracker_config_path: &str) -> String { + info!("Reading tracker configuration from file: {} ...", tracker_config_path); + read_tracker_config(tracker_config_path) +} + fn read_tracker_config(tracker_config_path: &str) -> String { std::fs::read_to_string(tracker_config_path) .unwrap_or_else(|_| panic!("Can't read tracker config file {tracker_config_path}")) } +fn build_tracker_container_image(tag: &str) { + info!("Building tracker container image with tag: {} ...", tag); + Docker::build("./Containerfile", tag).expect("A tracker local docker image should be built"); +} + fn generate_random_container_name(prefix: &str) -> String { let rand_string: String = rand::thread_rng() .sample_iter(&Alphanumeric)