Skip to content

Commit 2f66acf

Browse files
committed
fix: Create a temporary path using module and test name when initializing dependencies
1 parent 224d552 commit 2f66acf

File tree

15 files changed

+144
-99
lines changed

15 files changed

+144
-99
lines changed

mithril-aggregator/src/dependency_injection/containers.rs

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,12 +310,55 @@ impl DependencyContainer {
310310

311311
#[cfg(test)]
312312
pub(crate) mod tests {
313+
314+
use std::path::{Path, PathBuf};
315+
316+
use mithril_common::current_function;
317+
313318
use crate::{dependency_injection::DependenciesBuilder, Configuration, DependencyContainer};
314319

315-
pub async fn initialize_dependencies() -> DependencyContainer {
316-
let config = Configuration::new_sample();
320+
#[macro_export]
321+
macro_rules! initialize_dependencies {
322+
() => {{
323+
initialize_dependencies(module_path!(), mithril_common::current_function!())
324+
}};
325+
}
326+
327+
pub async fn initialize_dependencies<M: Into<String>, N: Into<String>>(
328+
module: M,
329+
name: N,
330+
) -> DependencyContainer {
331+
let config = Configuration {
332+
snapshot_directory: std::env::temp_dir().join(build_path(module, name)),
333+
..Configuration::new_sample()
334+
};
335+
317336
let mut builder = DependenciesBuilder::new_with_stdout_logger(config);
318337

319338
builder.build_dependency_container().await.unwrap()
320339
}
340+
341+
fn build_path<M: Into<String>, N: Into<String>>(module: M, function: N) -> PathBuf {
342+
PathBuf::from(module.into().replace("::", "/")).join(function.into())
343+
}
344+
345+
#[test]
346+
fn test_build_path() {
347+
assert_eq!(
348+
Path::new("module")
349+
.join("sub_module")
350+
.join("file")
351+
.join("function"),
352+
build_path("module::sub_module::file", "function")
353+
);
354+
355+
assert_eq!(
356+
Path::new("mithril_aggregator")
357+
.join("dependency_injection")
358+
.join("containers")
359+
.join("tests")
360+
.join("test_build_path"),
361+
build_path(module_path!(), current_function!())
362+
);
363+
}
321364
}

mithril-aggregator/src/http_server/routes/artifact_routes/cardano_database.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,9 @@ mod tests {
202202
.expect_get_cardano_database_list_message()
203203
.return_once(|_| Ok(vec![CardanoDatabaseSnapshotListItemMessage::dummy()]))
204204
.once();
205-
let mut dependency_manager = initialize_dependencies().await;
205+
206+
let mut dependency_manager = initialize_dependencies!().await;
207+
206208
dependency_manager.message_service = Arc::new(mock_http_message_service);
207209

208210
let method = Method::GET.as_str();
@@ -235,7 +237,7 @@ mod tests {
235237
.expect_get_cardano_database_list_message()
236238
.return_once(|_| Err(HydrationError::InvalidData("invalid data".to_string()).into()))
237239
.once();
238-
let mut dependency_manager = initialize_dependencies().await;
240+
let mut dependency_manager = initialize_dependencies!().await;
239241
dependency_manager.message_service = Arc::new(mock_http_message_service);
240242

241243
let method = Method::GET.as_str();
@@ -266,7 +268,7 @@ mod tests {
266268
) {
267269
let method = Method::GET.as_str();
268270
let path = "/artifact/cardano-database/{hash}";
269-
let dependency_manager = Arc::new(initialize_dependencies().await);
271+
let dependency_manager = Arc::new(initialize_dependencies!().await);
270272
let initial_counter_value = dependency_manager
271273
.metrics_service
272274
.get_artifact_detail_cardano_database_total_served_since_startup()
@@ -296,7 +298,7 @@ mod tests {
296298
.expect_get_cardano_database_message()
297299
.return_once(|_| Ok(Some(CardanoDatabaseSnapshotMessage::dummy())))
298300
.once();
299-
let mut dependency_manager = initialize_dependencies().await;
301+
let mut dependency_manager = initialize_dependencies!().await;
300302
dependency_manager.message_service = Arc::new(mock_http_message_service);
301303

302304
let method = Method::GET.as_str();
@@ -330,7 +332,7 @@ mod tests {
330332
.expect_get_cardano_database_message()
331333
.return_once(|_| Ok(None))
332334
.once();
333-
let mut dependency_manager = initialize_dependencies().await;
335+
let mut dependency_manager = initialize_dependencies!().await;
334336
dependency_manager.message_service = Arc::new(mock_http_message_service);
335337

336338
let method = Method::GET.as_str();
@@ -363,7 +365,7 @@ mod tests {
363365
.expect_get_cardano_database_message()
364366
.return_once(|_| Err(HydrationError::InvalidData("invalid data".to_string()).into()))
365367
.once();
366-
let mut dependency_manager = initialize_dependencies().await;
368+
let mut dependency_manager = initialize_dependencies!().await;
367369
dependency_manager.message_service = Arc::new(mock_http_message_service);
368370

369371
let method = Method::GET.as_str();
@@ -396,7 +398,7 @@ mod tests {
396398
.expect_get_cardano_database_digest_list_message()
397399
.return_once(|| Ok(vec![CardanoDatabaseDigestListItemMessage::dummy()]))
398400
.once();
399-
let mut dependency_manager = initialize_dependencies().await;
401+
let mut dependency_manager = initialize_dependencies!().await;
400402
dependency_manager.message_service = Arc::new(mock_http_message_service);
401403

402404
let method = Method::GET.as_str();
@@ -429,7 +431,7 @@ mod tests {
429431
.expect_get_cardano_database_digest_list_message()
430432
.return_once(|| Err(HydrationError::InvalidData("invalid data".to_string()).into()))
431433
.once();
432-
let mut dependency_manager = initialize_dependencies().await;
434+
let mut dependency_manager = initialize_dependencies!().await;
433435
dependency_manager.message_service = Arc::new(mock_http_message_service);
434436

435437
let method = Method::GET.as_str();

mithril-aggregator/src/http_server/routes/artifact_routes/cardano_stake_distribution.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ pub mod tests {
182182
.expect_get_cardano_stake_distribution_list_message()
183183
.return_once(|_| Ok(message))
184184
.once();
185-
let mut dependency_manager = initialize_dependencies().await;
185+
let mut dependency_manager = initialize_dependencies!().await;
186186
dependency_manager.message_service = Arc::new(mock_http_message_service);
187187

188188
let method = Method::GET.as_str();
@@ -215,7 +215,7 @@ pub mod tests {
215215
.expect_get_cardano_stake_distribution_list_message()
216216
.return_once(|_| Err(anyhow!("an error occured")))
217217
.once();
218-
let mut dependency_manager = initialize_dependencies().await;
218+
let mut dependency_manager = initialize_dependencies!().await;
219219
dependency_manager.message_service = Arc::new(mock_http_message_service);
220220

221221
let method = Method::GET.as_str();
@@ -245,7 +245,7 @@ pub mod tests {
245245
async fn test_cardano_stake_distribution_increments_artifact_detail_total_served_since_startup_metric(
246246
) {
247247
let method = Method::GET.as_str();
248-
let dependency_manager = Arc::new(initialize_dependencies().await);
248+
let dependency_manager = Arc::new(initialize_dependencies!().await);
249249
let initial_counter_value = dependency_manager
250250
.metrics_service
251251
.get_artifact_detail_cardano_stake_distribution_total_served_since_startup()
@@ -299,7 +299,7 @@ pub mod tests {
299299
.expect_get_cardano_stake_distribution_message()
300300
.return_once(|_| Ok(Some(message)))
301301
.once();
302-
let mut dependency_manager = initialize_dependencies().await;
302+
let mut dependency_manager = initialize_dependencies!().await;
303303
dependency_manager.message_service = Arc::new(mock_http_message_service);
304304

305305
let method = Method::GET.as_str();
@@ -332,7 +332,7 @@ pub mod tests {
332332
.expect_get_cardano_stake_distribution_message()
333333
.return_once(|_| Ok(None))
334334
.once();
335-
let mut dependency_manager = initialize_dependencies().await;
335+
let mut dependency_manager = initialize_dependencies!().await;
336336
dependency_manager.message_service = Arc::new(mock_http_message_service);
337337

338338
let method = Method::GET.as_str();
@@ -365,7 +365,7 @@ pub mod tests {
365365
.expect_get_cardano_stake_distribution_message()
366366
.return_once(|_| Err(anyhow!("an error occured")))
367367
.once();
368-
let mut dependency_manager = initialize_dependencies().await;
368+
let mut dependency_manager = initialize_dependencies!().await;
369369
dependency_manager.message_service = Arc::new(mock_http_message_service);
370370

371371
let method = Method::GET.as_str();
@@ -399,7 +399,7 @@ pub mod tests {
399399
.expect_get_cardano_stake_distribution_message_by_epoch()
400400
.return_once(|_| Ok(Some(message)))
401401
.once();
402-
let mut dependency_manager = initialize_dependencies().await;
402+
let mut dependency_manager = initialize_dependencies!().await;
403403
dependency_manager.message_service = Arc::new(mock_http_message_service);
404404

405405
let method = Method::GET.as_str();
@@ -428,7 +428,7 @@ pub mod tests {
428428
#[tokio::test]
429429
async fn test_cardano_stake_distribution_by_epoch_returns_400_bad_request_when_invalid_epoch() {
430430
let mock_http_message_service = MockMessageService::new();
431-
let mut dependency_manager = initialize_dependencies().await;
431+
let mut dependency_manager = initialize_dependencies!().await;
432432
dependency_manager.message_service = Arc::new(mock_http_message_service);
433433

434434
let method = Method::GET.as_str();
@@ -461,7 +461,7 @@ pub mod tests {
461461
.expect_get_cardano_stake_distribution_message_by_epoch()
462462
.return_once(|_| Ok(None))
463463
.once();
464-
let mut dependency_manager = initialize_dependencies().await;
464+
let mut dependency_manager = initialize_dependencies!().await;
465465
dependency_manager.message_service = Arc::new(mock_http_message_service);
466466

467467
let method = Method::GET.as_str();
@@ -494,7 +494,7 @@ pub mod tests {
494494
.expect_get_cardano_stake_distribution_message_by_epoch()
495495
.return_once(|_| Err(anyhow!("an error occured")))
496496
.once();
497-
let mut dependency_manager = initialize_dependencies().await;
497+
let mut dependency_manager = initialize_dependencies!().await;
498498
dependency_manager.message_service = Arc::new(mock_http_message_service);
499499

500500
let method = Method::GET.as_str();

mithril-aggregator/src/http_server/routes/artifact_routes/cardano_transaction.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ pub mod tests {
126126
.expect_get_cardano_transaction_list_message()
127127
.return_once(|_| Ok(vec![CardanoTransactionSnapshotListItemMessage::dummy()]))
128128
.once();
129-
let mut dependency_manager = initialize_dependencies().await;
129+
let mut dependency_manager = initialize_dependencies!().await;
130130
dependency_manager.message_service = Arc::new(mock_http_message_service);
131131

132132
let method = Method::GET.as_str();
@@ -159,7 +159,7 @@ pub mod tests {
159159
.expect_get_cardano_transaction_list_message()
160160
.return_once(|_| Err(HydrationError::InvalidData("invalid data".to_string()).into()))
161161
.once();
162-
let mut dependency_manager = initialize_dependencies().await;
162+
let mut dependency_manager = initialize_dependencies!().await;
163163
dependency_manager.message_service = Arc::new(mock_http_message_service);
164164

165165
let method = Method::GET.as_str();
@@ -190,7 +190,7 @@ pub mod tests {
190190
{
191191
let method = Method::GET.as_str();
192192
let path = "/artifact/cardano-transaction/{hash}";
193-
let dependency_manager = Arc::new(initialize_dependencies().await);
193+
let dependency_manager = Arc::new(initialize_dependencies!().await);
194194
let initial_counter_value = dependency_manager
195195
.metrics_service
196196
.get_artifact_detail_cardano_transaction_total_served_since_startup()
@@ -220,7 +220,7 @@ pub mod tests {
220220
.expect_get_cardano_transaction_message()
221221
.return_once(|_| Ok(Some(CardanoTransactionSnapshotMessage::dummy())))
222222
.once();
223-
let mut dependency_manager = initialize_dependencies().await;
223+
let mut dependency_manager = initialize_dependencies!().await;
224224
dependency_manager.message_service = Arc::new(mock_http_message_service);
225225

226226
let method = Method::GET.as_str();
@@ -253,7 +253,7 @@ pub mod tests {
253253
.expect_get_cardano_transaction_message()
254254
.return_once(|_| Ok(None))
255255
.once();
256-
let mut dependency_manager = initialize_dependencies().await;
256+
let mut dependency_manager = initialize_dependencies!().await;
257257
dependency_manager.message_service = Arc::new(mock_http_message_service);
258258

259259
let method = Method::GET.as_str();
@@ -286,7 +286,7 @@ pub mod tests {
286286
.expect_get_cardano_transaction_message()
287287
.return_once(|_| Err(HydrationError::InvalidData("invalid data".to_string()).into()))
288288
.once();
289-
let mut dependency_manager = initialize_dependencies().await;
289+
let mut dependency_manager = initialize_dependencies!().await;
290290
dependency_manager.message_service = Arc::new(mock_http_message_service);
291291

292292
let method = Method::GET.as_str();

mithril-aggregator/src/http_server/routes/artifact_routes/mithril_stake_distribution.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ pub mod tests {
126126
.expect_get_mithril_stake_distribution_list_message()
127127
.return_once(|_| Ok(vec![MithrilStakeDistributionListItemMessage::dummy()]))
128128
.once();
129-
let mut dependency_manager = initialize_dependencies().await;
129+
let mut dependency_manager = initialize_dependencies!().await;
130130
dependency_manager.message_service = Arc::new(mock_http_message_service);
131131

132132
let method = Method::GET.as_str();
@@ -159,7 +159,7 @@ pub mod tests {
159159
.expect_get_mithril_stake_distribution_list_message()
160160
.return_once(|_| Err(HydrationError::InvalidData("invalid data".to_string()).into()))
161161
.once();
162-
let mut dependency_manager = initialize_dependencies().await;
162+
let mut dependency_manager = initialize_dependencies!().await;
163163
dependency_manager.message_service = Arc::new(mock_http_message_service);
164164

165165
let method = Method::GET.as_str();
@@ -190,7 +190,7 @@ pub mod tests {
190190
) {
191191
let method = Method::GET.as_str();
192192
let path = "/artifact/mithril-stake-distribution/{hash}";
193-
let dependency_manager = Arc::new(initialize_dependencies().await);
193+
let dependency_manager = Arc::new(initialize_dependencies!().await);
194194
let initial_counter_value = dependency_manager
195195
.metrics_service
196196
.get_artifact_detail_mithril_stake_distribution_total_served_since_startup()
@@ -220,7 +220,7 @@ pub mod tests {
220220
.expect_get_mithril_stake_distribution_message()
221221
.return_once(|_| Ok(Some(MithrilStakeDistributionMessage::dummy())))
222222
.once();
223-
let mut dependency_manager = initialize_dependencies().await;
223+
let mut dependency_manager = initialize_dependencies!().await;
224224
dependency_manager.message_service = Arc::new(mock_http_message_service);
225225

226226
let method = Method::GET.as_str();
@@ -253,7 +253,7 @@ pub mod tests {
253253
.expect_get_mithril_stake_distribution_message()
254254
.return_once(|_| Ok(None))
255255
.once();
256-
let mut dependency_manager = initialize_dependencies().await;
256+
let mut dependency_manager = initialize_dependencies!().await;
257257
dependency_manager.message_service = Arc::new(mock_http_message_service);
258258

259259
let method = Method::GET.as_str();
@@ -286,7 +286,7 @@ pub mod tests {
286286
.expect_get_mithril_stake_distribution_message()
287287
.return_once(|_| Err(HydrationError::InvalidData("invalid data".to_string()).into()))
288288
.once();
289-
let mut dependency_manager = initialize_dependencies().await;
289+
let mut dependency_manager = initialize_dependencies!().await;
290290
dependency_manager.message_service = Arc::new(mock_http_message_service);
291291

292292
let method = Method::GET.as_str();

0 commit comments

Comments
 (0)