mithril_cardano_node_internal_database/test/
mod.rs

1//! Test utilities.
2//!
3//! ⚠ Do not use in production code ⚠
4//!
5//! This module provides in particular the [DummyCardanoDbBuilder] to generate and test doubles for the traits defined in this crate.
6
7pub mod double;
8mod dummy_cardano_db;
9pub mod fake_data;
10
11pub use dummy_cardano_db::{DummyCardanoDb, DummyCardanoDbBuilder};
12
13#[cfg(test)]
14pub(crate) struct TestLogger;
15
16#[cfg(test)]
17impl TestLogger {
18    fn from_writer<W: std::io::Write + Send + 'static>(writer: W) -> slog::Logger {
19        use slog::Drain;
20        use std::sync::Arc;
21
22        let decorator = slog_term::PlainDecorator::new(writer);
23        let drain = slog_term::CompactFormat::new(decorator).build().fuse();
24        let drain = slog_async::Async::new(drain).build().fuse();
25        slog::Logger::root(Arc::new(drain), slog::o!())
26    }
27
28    pub(crate) fn stdout() -> slog::Logger {
29        Self::from_writer(slog_term::TestStdoutWriter)
30    }
31}