@@ -14,25 +14,24 @@ use crate::e2e::logs::RunningServices;
1414use crate :: e2e:: temp_dir:: Handler ;
1515
1616pub 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.
2127pub 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-
132127fn 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+
148148fn 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+
153158fn generate_random_container_name ( prefix : & str ) -> String {
154159 let rand_string: String = rand:: thread_rng ( )
155160 . sample_iter ( & Alphanumeric )
0 commit comments