Skip to content

Commit bf14375

Browse files
committed
refactor: [#634] extract funtions
1 parent af65b59 commit bf14375

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

src/e2e/runner.rs

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,24 @@ use crate::e2e::logs::RunningServices;
1414
use crate::e2e::temp_dir::Handler;
1515

1616
pub const NUMBER_OF_ARGUMENTS: usize = 2;
17+
const CONTAINER_TAG: &str = "torrust-tracker:local";
18+
const TRACKER_CHECKER_CONFIG_FILE: &str = "tracker_checker.json";
19+
20+
pub struct Arguments {
21+
pub tracker_config_path: String,
22+
}
1723

1824
/// # Panics
1925
///
2026
/// Will panic if it can't not perform any of the operations.
2127
pub fn run() {
22-
// todo: const
23-
let container_tag: &str = "torrust-tracker:local";
24-
let tracker_checker_config_file = "tracker_checker.json";
25-
26-
setup_logging(LevelFilter::Info);
28+
setup_runner_logging(LevelFilter::Info);
2729

2830
let args = parse_arguments();
2931

30-
// Setup tracker configuration
31-
info!("Reading tracker configuration from file: {} ...", args.tracker_config_path);
32-
let tracker_config = read_tracker_config(&args.tracker_config_path);
32+
let tracker_config = load_tracker_configuration(&args.tracker_config_path);
3333

34-
// Build tracker container image
35-
Docker::build("./Containerfile", container_tag).expect("A tracker local docker image should be built");
34+
build_tracker_container_image(CONTAINER_TAG);
3635

3736
// Create temp dir
3837
info!(
@@ -57,7 +56,7 @@ pub fn run() {
5756
"1313:1313/tcp".to_string(),
5857
];
5958
let container =
60-
Docker::run(container_tag, &container_name, &env_vars, &ports).expect("A tracker local docker image should be running");
59+
Docker::run(CONTAINER_TAG, &container_name, &env_vars, &ports).expect("A tracker local docker image should be running");
6160

6261
info!("Waiting for the container {container_name} to be healthy ...");
6362
let is_healthy = Docker::wait_until_is_healthy(&container_name, Duration::from_secs(10));
@@ -80,7 +79,7 @@ pub fn run() {
8079
// Write tracker_checker configuration file
8180

8281
let mut absolute_tracker_checker_config_path = PathBuf::from(&temp_dir_handler.temp_dir.path());
83-
absolute_tracker_checker_config_path.push(tracker_checker_config_file);
82+
absolute_tracker_checker_config_path.push(TRACKER_CHECKER_CONFIG_FILE);
8483

8584
let mut file = File::create(absolute_tracker_checker_config_path.clone()).expect("Tracker checker config file to be created");
8685
file.write_all(json.as_bytes())
@@ -104,7 +103,7 @@ pub fn run() {
104103
info!("Running container `{}` will be automatically removed", container.name);
105104
}
106105

107-
fn setup_logging(level: LevelFilter) {
106+
fn setup_runner_logging(level: LevelFilter) {
108107
if let Err(_err) = fern::Dispatch::new()
109108
.format(|out, message, record| {
110109
out.finish(format_args!(
@@ -125,10 +124,6 @@ fn setup_logging(level: LevelFilter) {
125124
debug!("logging initialized.");
126125
}
127126

128-
pub struct Arguments {
129-
pub tracker_config_path: String,
130-
}
131-
132127
fn parse_arguments() -> Arguments {
133128
let args: Vec<String> = std::env::args().collect();
134129

@@ -145,11 +140,21 @@ fn parse_arguments() -> Arguments {
145140
}
146141
}
147142

143+
fn load_tracker_configuration(tracker_config_path: &str) -> String {
144+
info!("Reading tracker configuration from file: {} ...", tracker_config_path);
145+
read_tracker_config(tracker_config_path)
146+
}
147+
148148
fn read_tracker_config(tracker_config_path: &str) -> String {
149149
std::fs::read_to_string(tracker_config_path)
150150
.unwrap_or_else(|_| panic!("Can't read tracker config file {tracker_config_path}"))
151151
}
152152

153+
fn build_tracker_container_image(tag: &str) {
154+
info!("Building tracker container image with tag: {} ...", tag);
155+
Docker::build("./Containerfile", tag).expect("A tracker local docker image should be built");
156+
}
157+
153158
fn generate_random_container_name(prefix: &str) -> String {
154159
let rand_string: String = rand::thread_rng()
155160
.sample_iter(&Alphanumeric)

0 commit comments

Comments
 (0)