Skip to content

Commit d6e7a92

Browse files
committed
refactor: [#1311] initialize statics in each package
To avoid dependency on the main app. This will allow moving code to workspace packages.
1 parent 025f100 commit d6e7a92

File tree

8 files changed

+67
-10
lines changed

8 files changed

+67
-10
lines changed

Cargo.lock

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/axum-http-tracker-server/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ tower-http = { version = "0", features = ["compression-full", "cors", "propagate
3838
tracing = "0"
3939

4040
[dev-dependencies]
41+
torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" }
4142
torrust-tracker-test-helpers = { version = "3.0.0-develop", path = "../test-helpers" }

packages/axum-http-tracker-server/src/server.rs

+11-2
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ mod tests {
250250
use bittorrent_tracker_core::whitelist::repository::in_memory::InMemoryWhitelist;
251251
use torrust_axum_server::tsl::make_rust_tls;
252252
use torrust_server_lib::registar::Registar;
253-
use torrust_tracker_configuration::Configuration;
253+
use torrust_tracker_configuration::{logging, Configuration};
254254
use torrust_tracker_test_helpers::configuration::ephemeral_public;
255255

256256
use crate::server::{HttpServer, Launcher};
@@ -306,6 +306,15 @@ mod tests {
306306
}
307307
}
308308

309+
fn initialize_global_services(configuration: &Configuration) {
310+
initialize_static();
311+
logging::setup(&configuration.logging);
312+
}
313+
314+
fn initialize_static() {
315+
torrust_tracker_clock::initialize_static();
316+
}
317+
309318
#[tokio::test]
310319
async fn it_should_be_able_to_start_and_stop() {
311320
let configuration = Arc::new(ephemeral_public());
@@ -317,7 +326,7 @@ mod tests {
317326

318327
let http_tracker_config = &http_trackers[0];
319328

320-
//initialize_global_services(&cfg); // not needed for this test
329+
initialize_global_services(&configuration);
321330

322331
let http_tracker_container = Arc::new(initialize_container(&configuration));
323332

src/servers/apis/server.rs

+11-1
Original file line numberDiff line numberDiff line change
@@ -297,11 +297,21 @@ mod tests {
297297
use torrust_axum_server::tsl::make_rust_tls;
298298
use torrust_server_lib::registar::Registar;
299299
use torrust_tracker_api_core::container::TrackerHttpApiCoreContainer;
300+
use torrust_tracker_configuration::{logging, Configuration};
300301
use torrust_tracker_test_helpers::configuration::ephemeral_public;
301302

302-
use crate::bootstrap::app::initialize_global_services;
303303
use crate::servers::apis::server::{ApiServer, Launcher};
304304

305+
fn initialize_global_services(configuration: &Configuration) {
306+
initialize_static();
307+
logging::setup(&configuration.logging);
308+
}
309+
310+
fn initialize_static() {
311+
torrust_tracker_clock::initialize_static();
312+
bittorrent_udp_tracker_core::initialize_static();
313+
}
314+
305315
#[tokio::test]
306316
async fn it_should_be_able_to_start_and_stop() {
307317
let cfg = Arc::new(ephemeral_public());

src/servers/udp/server/mod.rs

+11-1
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,21 @@ mod tests {
5959

6060
use bittorrent_udp_tracker_core::container::UdpTrackerCoreContainer;
6161
use torrust_server_lib::registar::Registar;
62+
use torrust_tracker_configuration::{logging, Configuration};
6263
use torrust_tracker_test_helpers::configuration::ephemeral_public;
6364

6465
use super::spawner::Spawner;
6566
use super::Server;
66-
use crate::bootstrap::app::initialize_global_services;
67+
68+
fn initialize_global_services(configuration: &Configuration) {
69+
initialize_static();
70+
logging::setup(&configuration.logging);
71+
}
72+
73+
fn initialize_static() {
74+
torrust_tracker_clock::initialize_static();
75+
bittorrent_udp_tracker_core::initialize_static();
76+
}
6777

6878
#[tokio::test]
6979
async fn it_should_be_able_to_start_and_stop() {

tests/servers/api/environment.rs

+11-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ use torrust_axum_server::tsl::make_rust_tls;
1010
use torrust_server_lib::registar::Registar;
1111
use torrust_tracker_api_client::connection_info::{ConnectionInfo, Origin};
1212
use torrust_tracker_api_core::container::TrackerHttpApiCoreContainer;
13-
use torrust_tracker_configuration::Configuration;
14-
use torrust_tracker_lib::bootstrap::app::initialize_global_services;
13+
use torrust_tracker_configuration::{logging, Configuration};
1514
use torrust_tracker_lib::servers::apis::server::{ApiServer, Launcher, Running, Stopped};
1615
use torrust_tracker_primitives::peer;
1716

@@ -162,3 +161,13 @@ impl EnvContainer {
162161
}
163162
}
164163
}
164+
165+
fn initialize_global_services(configuration: &Configuration) {
166+
initialize_static();
167+
logging::setup(&configuration.logging);
168+
}
169+
170+
fn initialize_static() {
171+
torrust_tracker_clock::initialize_static();
172+
bittorrent_udp_tracker_core::initialize_static();
173+
}

tests/servers/http/environment.rs

+10-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ use futures::executor::block_on;
77
use torrust_axum_http_tracker_server::server::{HttpServer, Launcher, Running, Stopped};
88
use torrust_axum_server::tsl::make_rust_tls;
99
use torrust_server_lib::registar::Registar;
10-
use torrust_tracker_configuration::Configuration;
11-
use torrust_tracker_lib::bootstrap::app::initialize_global_services;
10+
use torrust_tracker_configuration::{logging, Configuration};
1211
use torrust_tracker_primitives::peer;
1312

1413
pub struct Environment<S> {
@@ -106,3 +105,12 @@ impl EnvContainer {
106105
}
107106
}
108107
}
108+
109+
fn initialize_global_services(configuration: &Configuration) {
110+
initialize_static();
111+
logging::setup(&configuration.logging);
112+
}
113+
114+
fn initialize_static() {
115+
torrust_tracker_clock::initialize_static();
116+
}

tests/servers/udp/environment.rs

+11-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ use bittorrent_primitives::info_hash::InfoHash;
55
use bittorrent_tracker_core::container::TrackerCoreContainer;
66
use bittorrent_udp_tracker_core::container::UdpTrackerCoreContainer;
77
use torrust_server_lib::registar::Registar;
8-
use torrust_tracker_configuration::{Configuration, DEFAULT_TIMEOUT};
9-
use torrust_tracker_lib::bootstrap::app::initialize_global_services;
8+
use torrust_tracker_configuration::{logging, Configuration, DEFAULT_TIMEOUT};
109
use torrust_tracker_lib::servers::udp::server::spawner::Spawner;
1110
use torrust_tracker_lib::servers::udp::server::states::{Running, Stopped};
1211
use torrust_tracker_lib::servers::udp::server::Server;
@@ -120,6 +119,16 @@ impl EnvContainer {
120119
}
121120
}
122121

122+
fn initialize_global_services(configuration: &Configuration) {
123+
initialize_static();
124+
logging::setup(&configuration.logging);
125+
}
126+
127+
fn initialize_static() {
128+
torrust_tracker_clock::initialize_static();
129+
bittorrent_udp_tracker_core::initialize_static();
130+
}
131+
123132
#[cfg(test)]
124133
mod tests {
125134
use std::time::Duration;

0 commit comments

Comments
 (0)