Skip to content

Commit 11f85bd

Browse files
committed
feat: [#1358] inject Swarms into InMemoryTorrentRepository in testing code
1 parent e78a902 commit 11f85bd

File tree

15 files changed

+75
-20
lines changed

15 files changed

+75
-20
lines changed

Cargo.lock

Lines changed: 6 additions & 0 deletions
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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ torrust-server-lib = { version = "3.0.0-develop", path = "../server-lib" }
3333
torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" }
3434
torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" }
3535
torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" }
36+
torrust-tracker-torrent-repository = { version = "3.0.0-develop", path = "../torrent-repository" }
3637
tower = { version = "0", features = ["timeout"] }
3738
tower-http = { version = "0", features = ["compression-full", "cors", "propagate-header", "request-id", "trace"] }
3839
tracing = "0"

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use torrust_axum_server::tsl::make_rust_tls;
1010
use torrust_server_lib::registar::Registar;
1111
use torrust_tracker_configuration::{logging, Configuration};
1212
use torrust_tracker_primitives::peer;
13+
use torrust_tracker_torrent_repository::container::TorrentRepositoryContainer;
1314

1415
use crate::server::{HttpServer, Launcher, Running, Stopped};
1516

@@ -143,7 +144,13 @@ impl EnvContainer {
143144
.expect("missing HTTP tracker configuration");
144145
let http_tracker_config = Arc::new(http_tracker_config[0].clone());
145146

146-
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize(&core_config));
147+
let torrent_repository_container = Arc::new(TorrentRepositoryContainer::initialize());
148+
149+
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize_from(
150+
&core_config,
151+
&torrent_repository_container,
152+
));
153+
147154
let http_tracker_container =
148155
HttpTrackerCoreContainer::initialize_from_tracker_core(&tracker_core_container, &http_tracker_config);
149156

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ mod tests {
260260
use torrust_server_lib::registar::Registar;
261261
use torrust_tracker_configuration::{logging, Configuration};
262262
use torrust_tracker_test_helpers::configuration::ephemeral_public;
263+
use torrust_tracker_torrent_repository::container::TorrentRepositoryContainer;
263264

264265
use crate::server::{HttpServer, Launcher};
265266

@@ -289,7 +290,12 @@ mod tests {
289290
let _unused = run_event_listener(http_stats_event_bus.receiver(), &http_stats_repository);
290291
}
291292

292-
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize(&core_config));
293+
let torrent_repository_container = Arc::new(TorrentRepositoryContainer::initialize());
294+
295+
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize_from(
296+
&core_config,
297+
&torrent_repository_container,
298+
));
293299

294300
let announce_service = Arc::new(AnnounceService::new(
295301
tracker_core_container.core_config.clone(),

packages/axum-rest-tracker-api-server/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" }
3939
torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" }
4040
torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" }
4141
torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" }
42+
torrust-tracker-torrent-repository = { version = "3.0.0-develop", path = "../torrent-repository" }
4243
torrust-udp-tracker-server = { version = "3.0.0-develop", path = "../udp-tracker-server" }
4344
tower = { version = "0", features = ["timeout"] }
4445
tower-http = { version = "0", features = ["compression-full", "cors", "propagate-header", "request-id", "trace"] }

packages/axum-rest-tracker-api-server/src/environment.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use torrust_rest_tracker_api_core::container::TrackerHttpApiCoreContainer;
1212
use torrust_server_lib::registar::Registar;
1313
use torrust_tracker_configuration::{logging, Configuration};
1414
use torrust_tracker_primitives::peer;
15+
use torrust_tracker_torrent_repository::container::TorrentRepositoryContainer;
1516
use torrust_udp_tracker_server::container::UdpTrackerServerContainer;
1617

1718
use crate::server::{ApiServer, Launcher, Running, Stopped};
@@ -172,11 +173,19 @@ impl EnvContainer {
172173
.clone(),
173174
);
174175

175-
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize(&core_config));
176+
let torrent_repository_container = Arc::new(TorrentRepositoryContainer::initialize());
177+
178+
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize_from(
179+
&core_config,
180+
&torrent_repository_container,
181+
));
182+
176183
let http_tracker_core_container =
177184
HttpTrackerCoreContainer::initialize_from_tracker_core(&tracker_core_container, &http_tracker_config);
185+
178186
let udp_tracker_core_container =
179187
UdpTrackerCoreContainer::initialize_from_tracker_core(&tracker_core_container, &udp_tracker_config);
188+
180189
let udp_tracker_server_container = UdpTrackerServerContainer::initialize(&core_config);
181190

182191
let tracker_http_api_core_container = TrackerHttpApiCoreContainer::initialize_from(

packages/http-tracker-core/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configur
2828
torrust-tracker-events = { version = "3.0.0-develop", path = "../events" }
2929
torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" }
3030
torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" }
31+
torrust-tracker-torrent-repository = { version = "3.0.0-develop", path = "../torrent-repository" }
3132
tracing = "0"
3233

3334
[dev-dependencies]

packages/http-tracker-core/src/container.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use std::sync::Arc;
22

33
use bittorrent_tracker_core::container::TrackerCoreContainer;
44
use torrust_tracker_configuration::{Core, HttpTracker};
5+
use torrust_tracker_torrent_repository::container::TorrentRepositoryContainer;
56

67
use crate::event::bus::EventBus;
78
use crate::event::sender::Broadcaster;
@@ -26,7 +27,13 @@ pub struct HttpTrackerCoreContainer {
2627
impl HttpTrackerCoreContainer {
2728
#[must_use]
2829
pub fn initialize(core_config: &Arc<Core>, http_tracker_config: &Arc<HttpTracker>) -> Arc<Self> {
29-
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize(core_config));
30+
let torrent_repository_container = Arc::new(TorrentRepositoryContainer::initialize());
31+
32+
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize_from(
33+
core_config,
34+
&torrent_repository_container,
35+
));
36+
3037
Self::initialize_from_tracker_core(&tracker_core_container, http_tracker_config)
3138
}
3239

@@ -36,6 +43,7 @@ impl HttpTrackerCoreContainer {
3643
http_tracker_config: &Arc<HttpTracker>,
3744
) -> Arc<Self> {
3845
let http_tracker_core_services = HttpTrackerCoreServices::initialize_from(tracker_core_container);
46+
3947
Self::initialize_from_services(tracker_core_container, &http_tracker_core_services, http_tracker_config)
4048
}
4149

packages/rest-tracker-api-core/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ tokio = { version = "1", features = ["macros", "net", "rt-multi-thread", "signal
2121
torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" }
2222
torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" }
2323
torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" }
24+
torrust-tracker-torrent-repository = { version = "3.0.0-develop", path = "../torrent-repository" }
2425
torrust-udp-tracker-server = { version = "3.0.0-develop", path = "../udp-tracker-server" }
2526

2627
[dev-dependencies]

packages/rest-tracker-api-core/src/container.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use bittorrent_udp_tracker_core::services::banning::BanService;
77
use bittorrent_udp_tracker_core::{self};
88
use tokio::sync::RwLock;
99
use torrust_tracker_configuration::{Core, HttpApi, HttpTracker, UdpTracker};
10+
use torrust_tracker_torrent_repository::container::TorrentRepositoryContainer;
1011
use torrust_udp_tracker_server::container::UdpTrackerServerContainer;
1112

1213
pub struct TrackerHttpApiCoreContainer {
@@ -26,11 +27,19 @@ impl TrackerHttpApiCoreContainer {
2627
udp_tracker_config: &Arc<UdpTracker>,
2728
http_api_config: &Arc<HttpApi>,
2829
) -> Arc<TrackerHttpApiCoreContainer> {
29-
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize(core_config));
30+
let torrent_repository_container = Arc::new(TorrentRepositoryContainer::initialize());
31+
32+
let tracker_core_container = Arc::new(TrackerCoreContainer::initialize_from(
33+
core_config,
34+
&torrent_repository_container,
35+
));
36+
3037
let http_tracker_core_container =
3138
HttpTrackerCoreContainer::initialize_from_tracker_core(&tracker_core_container, http_tracker_config);
39+
3240
let udp_tracker_core_container =
3341
UdpTrackerCoreContainer::initialize_from_tracker_core(&tracker_core_container, udp_tracker_config);
42+
3443
let udp_tracker_server_container = UdpTrackerServerContainer::initialize(core_config);
3544

3645
Self::initialize_from(

0 commit comments

Comments
 (0)