@@ -58,49 +58,20 @@ mod tests {
5858 use std:: sync:: Arc ;
5959 use std:: time:: Duration ;
6060
61- use tokio:: sync:: RwLock ;
6261 use torrust_tracker_test_helpers:: configuration:: ephemeral_public;
6362
6463 use super :: spawner:: Spawner ;
6564 use super :: Server ;
66- use crate :: bootstrap:: app:: initialize_global_services;
67- use crate :: core:: authentication:: handler:: KeysHandler ;
68- use crate :: core:: authentication:: key:: repository:: in_memory:: InMemoryKeyRepository ;
69- use crate :: core:: authentication:: key:: repository:: persisted:: DatabaseKeyRepository ;
70- use crate :: core:: authentication:: service;
71- use crate :: core:: services:: { initialize_database, initialize_tracker, initialize_whitelist_manager, statistics} ;
72- use crate :: core:: whitelist;
73- use crate :: core:: whitelist:: repository:: in_memory:: InMemoryWhitelist ;
65+ use crate :: bootstrap:: app:: { initialize_app_container, initialize_global_services} ;
7466 use crate :: servers:: registar:: Registar ;
75- use crate :: servers:: udp:: server:: banning:: BanService ;
76- use crate :: servers:: udp:: server:: launcher:: MAX_CONNECTION_ID_ERRORS_PER_IP ;
7767
7868 #[ tokio:: test]
7969 async fn it_should_be_able_to_start_and_stop ( ) {
8070 let cfg = Arc :: new ( ephemeral_public ( ) ) ;
8171
82- let ( stats_event_sender, _stats_repository) = statistics:: setup:: factory ( cfg. core . tracker_usage_statistics ) ;
83- let stats_event_sender = Arc :: new ( stats_event_sender) ;
84- let ban_service = Arc :: new ( RwLock :: new ( BanService :: new ( MAX_CONNECTION_ID_ERRORS_PER_IP ) ) ) ;
85-
8672 initialize_global_services ( & cfg) ;
8773
88- let database = initialize_database ( & cfg) ;
89- let in_memory_whitelist = Arc :: new ( InMemoryWhitelist :: default ( ) ) ;
90- let whitelist_authorization = Arc :: new ( whitelist:: authorization:: Authorization :: new (
91- & cfg. core ,
92- & in_memory_whitelist. clone ( ) ,
93- ) ) ;
94- let _whitelist_manager = initialize_whitelist_manager ( database. clone ( ) , in_memory_whitelist. clone ( ) ) ;
95- let db_key_repository = Arc :: new ( DatabaseKeyRepository :: new ( & database) ) ;
96- let in_memory_key_repository = Arc :: new ( InMemoryKeyRepository :: default ( ) ) ;
97- let _authentication_service = Arc :: new ( service:: AuthenticationService :: new ( & cfg. core , & in_memory_key_repository) ) ;
98- let _keys_handler = Arc :: new ( KeysHandler :: new (
99- & db_key_repository. clone ( ) ,
100- & in_memory_key_repository. clone ( ) ,
101- ) ) ;
102-
103- let tracker = Arc :: new ( initialize_tracker ( & cfg, & database, & whitelist_authorization) ) ;
74+ let app_container = initialize_app_container ( & cfg) ;
10475
10576 let udp_trackers = cfg. udp_trackers . clone ( ) . expect ( "missing UDP trackers configuration" ) ;
10677 let config = & udp_trackers[ 0 ] ;
@@ -111,10 +82,10 @@ mod tests {
11182
11283 let started = stopped
11384 . start (
114- tracker,
115- whitelist_authorization,
116- stats_event_sender,
117- ban_service,
85+ app_container . tracker ,
86+ app_container . whitelist_authorization ,
87+ app_container . stats_event_sender ,
88+ app_container . ban_service ,
11889 register. give_form ( ) ,
11990 config. cookie_lifetime ,
12091 )
@@ -132,27 +103,9 @@ mod tests {
132103 async fn it_should_be_able_to_start_and_stop_with_wait ( ) {
133104 let cfg = Arc :: new ( ephemeral_public ( ) ) ;
134105
135- let ( stats_event_sender, _stats_repository) = statistics:: setup:: factory ( cfg. core . tracker_usage_statistics ) ;
136- let stats_event_sender = Arc :: new ( stats_event_sender) ;
137- let ban_service = Arc :: new ( RwLock :: new ( BanService :: new ( MAX_CONNECTION_ID_ERRORS_PER_IP ) ) ) ;
138-
139106 initialize_global_services ( & cfg) ;
140107
141- let database = initialize_database ( & cfg) ;
142- let in_memory_whitelist = Arc :: new ( InMemoryWhitelist :: default ( ) ) ;
143- let whitelist_authorization = Arc :: new ( whitelist:: authorization:: Authorization :: new (
144- & cfg. core ,
145- & in_memory_whitelist. clone ( ) ,
146- ) ) ;
147- let db_key_repository = Arc :: new ( DatabaseKeyRepository :: new ( & database) ) ;
148- let in_memory_key_repository = Arc :: new ( InMemoryKeyRepository :: default ( ) ) ;
149- let _authentication_service = Arc :: new ( service:: AuthenticationService :: new ( & cfg. core , & in_memory_key_repository) ) ;
150- let _keys_handler = Arc :: new ( KeysHandler :: new (
151- & db_key_repository. clone ( ) ,
152- & in_memory_key_repository. clone ( ) ,
153- ) ) ;
154-
155- let tracker = Arc :: new ( initialize_tracker ( & cfg, & database, & whitelist_authorization) ) ;
108+ let app_container = initialize_app_container ( & cfg) ;
156109
157110 let config = & cfg. udp_trackers . as_ref ( ) . unwrap ( ) . first ( ) . unwrap ( ) ;
158111 let bind_to = config. bind_address ;
@@ -162,10 +115,10 @@ mod tests {
162115
163116 let started = stopped
164117 . start (
165- tracker,
166- whitelist_authorization,
167- stats_event_sender,
168- ban_service,
118+ app_container . tracker ,
119+ app_container . whitelist_authorization ,
120+ app_container . stats_event_sender ,
121+ app_container . ban_service ,
169122 register. give_form ( ) ,
170123 config. cookie_lifetime ,
171124 )
0 commit comments