@@ -58,49 +58,20 @@ mod tests {
58
58
use std:: sync:: Arc ;
59
59
use std:: time:: Duration ;
60
60
61
- use tokio:: sync:: RwLock ;
62
61
use torrust_tracker_test_helpers:: configuration:: ephemeral_public;
63
62
64
63
use super :: spawner:: Spawner ;
65
64
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} ;
74
66
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 ;
77
67
78
68
#[ tokio:: test]
79
69
async fn it_should_be_able_to_start_and_stop ( ) {
80
70
let cfg = Arc :: new ( ephemeral_public ( ) ) ;
81
71
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
-
86
72
initialize_global_services ( & cfg) ;
87
73
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) ;
104
75
105
76
let udp_trackers = cfg. udp_trackers . clone ( ) . expect ( "missing UDP trackers configuration" ) ;
106
77
let config = & udp_trackers[ 0 ] ;
@@ -111,10 +82,10 @@ mod tests {
111
82
112
83
let started = stopped
113
84
. 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 ,
118
89
register. give_form ( ) ,
119
90
config. cookie_lifetime ,
120
91
)
@@ -132,27 +103,9 @@ mod tests {
132
103
async fn it_should_be_able_to_start_and_stop_with_wait ( ) {
133
104
let cfg = Arc :: new ( ephemeral_public ( ) ) ;
134
105
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
-
139
106
initialize_global_services ( & cfg) ;
140
107
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) ;
156
109
157
110
let config = & cfg. udp_trackers . as_ref ( ) . unwrap ( ) . first ( ) . unwrap ( ) ;
158
111
let bind_to = config. bind_address ;
@@ -162,10 +115,10 @@ mod tests {
162
115
163
116
let started = stopped
164
117
. 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 ,
169
122
register. give_form ( ) ,
170
123
config. cookie_lifetime ,
171
124
)
0 commit comments