Skip to content

Commit 476b869

Browse files
committed
Add logger_for_tests to common to factorize test logger creation
1 parent 9afedda commit 476b869

File tree

4 files changed

+33
-41
lines changed

4 files changed

+33
-41
lines changed

mithril-common/src/digesters/cardano_immutable_digester.rs

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -178,19 +178,12 @@ mod tests {
178178
ImmutableDigesterError,
179179
},
180180
entities::{CardanoDbBeacon, ImmutableFileNumber},
181+
test_utils::logger_for_tests,
181182
};
182183
use sha2::Sha256;
183-
use slog::Drain;
184184
use std::{collections::BTreeMap, io, sync::Arc};
185185
use tokio::time::Instant;
186186

187-
fn create_logger() -> slog::Logger {
188-
let decorator = slog_term::PlainDecorator::new(slog_term::TestStdoutWriter);
189-
let drain = slog_term::CompactFormat::new(decorator).build().fuse();
190-
let drain = slog_async::Async::new(drain).build().fuse();
191-
slog::Logger::root(Arc::new(drain), slog::o!())
192-
}
193-
194187
fn db_builder(dir_name: &str) -> DummyImmutablesDbBuilder {
195188
DummyImmutablesDbBuilder::new(&format!("cardano_immutable_digester/{dir_name}"))
196189
}
@@ -224,7 +217,7 @@ mod tests {
224217
#[tokio::test]
225218
async fn fail_if_no_file_in_folder() {
226219
let immutable_db = db_builder("fail_if_no_file_in_folder").build();
227-
let digester = CardanoImmutableDigester::new(None, create_logger());
220+
let digester = CardanoImmutableDigester::new(None, logger_for_tests());
228221
let beacon = CardanoDbBeacon::new("devnet".to_string(), 1, 1);
229222

230223
let result = digester
@@ -250,7 +243,7 @@ mod tests {
250243
let immutable_db = db_builder("fail_if_no_immutable_exist")
251244
.with_non_immutables(&["not_immutable"])
252245
.build();
253-
let digester = CardanoImmutableDigester::new(None, create_logger());
246+
let digester = CardanoImmutableDigester::new(None, logger_for_tests());
254247
let beacon = CardanoDbBeacon::new("devnet".to_string(), 1, 1);
255248

256249
assert!(digester
@@ -264,7 +257,7 @@ mod tests {
264257
let immutable_db = db_builder("fail_if_theres_only_the_uncompleted_immutable_trio")
265258
.append_immutable_trio()
266259
.build();
267-
let digester = CardanoImmutableDigester::new(None, create_logger());
260+
let digester = CardanoImmutableDigester::new(None, logger_for_tests());
268261
let beacon = CardanoDbBeacon::new("devnet".to_string(), 1, 1);
269262

270263
let result = digester
@@ -291,7 +284,7 @@ mod tests {
291284
.with_immutables(&[1, 2, 3, 4, 5])
292285
.append_immutable_trio()
293286
.build();
294-
let digester = CardanoImmutableDigester::new(None, create_logger());
287+
let digester = CardanoImmutableDigester::new(None, logger_for_tests());
295288
let beacon = CardanoDbBeacon::new("devnet".to_string(), 1, 10);
296289

297290
let result = digester
@@ -318,7 +311,7 @@ mod tests {
318311
.with_immutables(&(1..=100).collect::<Vec<ImmutableFileNumber>>())
319312
.append_immutable_trio()
320313
.build();
321-
let logger = create_logger();
314+
let logger = logger_for_tests();
322315
let digester = CardanoImmutableDigester::new(
323316
Some(Arc::new(MemoryImmutableFileDigestCacheProvider::default())),
324317
logger.clone(),
@@ -344,7 +337,7 @@ mod tests {
344337
.build();
345338
let immutables = immutable_db.immutables_files;
346339
let cache = Arc::new(MemoryImmutableFileDigestCacheProvider::default());
347-
let logger = create_logger();
340+
let logger = logger_for_tests();
348341
let digester = CardanoImmutableDigester::new(Some(cache.clone()), logger.clone());
349342
let beacon = CardanoDbBeacon::new("devnet".to_string(), 1, 2);
350343

@@ -376,7 +369,7 @@ mod tests {
376369
.with_immutables(&[1, 2, 3])
377370
.append_immutable_trio()
378371
.build();
379-
let logger = create_logger();
372+
let logger = logger_for_tests();
380373
let no_cache_digester = CardanoImmutableDigester::new(None, logger.clone());
381374
let cache_digester = CardanoImmutableDigester::new(
382375
Some(Arc::new(MemoryImmutableFileDigestCacheProvider::default())),
@@ -418,7 +411,7 @@ mod tests {
418411
.set_file_size(65536)
419412
.build();
420413
let cache = MemoryImmutableFileDigestCacheProvider::default();
421-
let logger = create_logger();
414+
let logger = logger_for_tests();
422415
let digester = CardanoImmutableDigester::new(Some(Arc::new(cache)), logger.clone());
423416
let beacon = CardanoDbBeacon::new("devnet".to_string(), 1, 50);
424417

@@ -460,7 +453,7 @@ mod tests {
460453
ImmutableDigesterCacheStoreError::Io(io::Error::new(io::ErrorKind::Other, "error")),
461454
))
462455
});
463-
let logger = create_logger();
456+
let logger = logger_for_tests();
464457
let digester = CardanoImmutableDigester::new(Some(Arc::new(cache)), logger.clone());
465458
let beacon = CardanoDbBeacon::new("devnet".to_string(), 1, 3);
466459

@@ -483,7 +476,7 @@ mod tests {
483476
))
484477
});
485478
cache.expect_store().returning(|_| Ok(()));
486-
let logger = create_logger();
479+
let logger = logger_for_tests();
487480
let digester = CardanoImmutableDigester::new(Some(Arc::new(cache)), logger.clone());
488481
let beacon = CardanoDbBeacon::new("devnet".to_string(), 1, 3);
489482

mithril-common/src/signable_builder/cardano_immutable_full_signable_builder.rs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,14 @@ impl SignableBuilder<CardanoDbBeacon> for CardanoImmutableFilesFullSignableBuild
6262

6363
#[cfg(test)]
6464
mod tests {
65+
use async_trait::async_trait;
6566
use std::path::Path;
6667

67-
use super::*;
68-
6968
use crate::digesters::{ImmutableDigester, ImmutableDigesterError};
7069
use crate::entities::CardanoDbBeacon;
71-
use async_trait::async_trait;
72-
use slog::Drain;
70+
use crate::test_utils::logger_for_tests;
71+
72+
use super::*;
7373

7474
#[derive(Default)]
7575
pub struct ImmutableDigesterImpl;
@@ -85,19 +85,13 @@ mod tests {
8585
}
8686
}
8787

88-
fn create_logger() -> slog::Logger {
89-
let decorator = slog_term::PlainDecorator::new(slog_term::TestStdoutWriter);
90-
let drain = slog_term::CompactFormat::new(decorator).build().fuse();
91-
let drain = slog_async::Async::new(drain).build().fuse();
92-
slog::Logger::root(Arc::new(drain), slog::o!())
93-
}
9488
#[tokio::test]
9589
async fn compute_signable() {
9690
let digester = ImmutableDigesterImpl;
9791
let signable_builder = CardanoImmutableFilesFullSignableBuilder::new(
9892
Arc::new(digester),
9993
Path::new(""),
100-
create_logger(),
94+
logger_for_tests(),
10195
);
10296
let protocol_message = signable_builder
10397
.compute_protocol_message(CardanoDbBeacon::default())

mithril-common/src/signable_builder/cardano_transactions.rs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,15 +117,9 @@ impl SignableBuilder<CardanoDbBeacon> for CardanoTransactionsSignableBuilder {
117117

118118
#[cfg(test)]
119119
mod tests {
120-
use super::*;
121-
use slog::Drain;
120+
use crate::test_utils::logger_for_tests;
122121

123-
fn create_logger() -> slog::Logger {
124-
let decorator = slog_term::PlainDecorator::new(slog_term::TestStdoutWriter);
125-
let drain = slog_term::CompactFormat::new(decorator).build().fuse();
126-
let drain = slog_async::Async::new(drain).build().fuse();
127-
slog::Logger::root(Arc::new(drain), slog::o!())
128-
}
122+
use super::*;
129123

130124
#[tokio::test]
131125
async fn test_compute_merkle_root_in_same_block_range() {
@@ -148,7 +142,7 @@ mod tests {
148142

149143
let cardano_transaction_signable_builder = CardanoTransactionsSignableBuilder::new(
150144
Arc::new(MockTransactionsImporter::new()),
151-
create_logger(),
145+
logger_for_tests(),
152146
);
153147

154148
let merkle_root_reference = cardano_transaction_signable_builder
@@ -209,7 +203,7 @@ mod tests {
209203

210204
let cardano_transaction_signable_builder = CardanoTransactionsSignableBuilder::new(
211205
Arc::new(MockTransactionsImporter::new()),
212-
create_logger(),
206+
logger_for_tests(),
213207
);
214208

215209
let merkle_root_reference = cardano_transaction_signable_builder
@@ -242,7 +236,7 @@ mod tests {
242236
.return_once(move |_| Ok(imported_transactions));
243237
let cardano_transactions_signable_builder = CardanoTransactionsSignableBuilder::new(
244238
Arc::new(transaction_importer),
245-
create_logger(),
239+
logger_for_tests(),
246240
);
247241

248242
// Action
@@ -276,7 +270,7 @@ mod tests {
276270
.return_once(|_| Ok(vec![]));
277271
let cardano_transactions_signable_builder = CardanoTransactionsSignableBuilder::new(
278272
Arc::new(transaction_importer),
279-
create_logger(),
273+
logger_for_tests(),
280274
);
281275

282276
let result = cardano_transactions_signable_builder

mithril-common/src/test_utils/mod.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,14 @@ pub mod test_http_server;
2525
pub use fixture_builder::{MithrilFixtureBuilder, StakeDistributionGenerationMethod};
2626
pub use mithril_fixture::{MithrilFixture, SignerFixture};
2727
pub use temp_dir::*;
28+
29+
#[cfg(test)]
30+
pub(crate) fn logger_for_tests() -> slog::Logger {
31+
use slog::Drain;
32+
use std::sync::Arc;
33+
34+
let decorator = slog_term::PlainDecorator::new(slog_term::TestStdoutWriter);
35+
let drain = slog_term::CompactFormat::new(decorator).build().fuse();
36+
let drain = slog_async::Async::new(drain).build().fuse();
37+
slog::Logger::root(Arc::new(drain), slog::o!())
38+
}

0 commit comments

Comments
 (0)