Skip to content

Commit 901f644

Browse files
committed
refactor(common): move FakeCertificaterRetriever to test::double
1 parent f0f4f26 commit 901f644

File tree

5 files changed

+13
-34
lines changed

5 files changed

+13
-34
lines changed

mithril-aggregator/src/services/certificate_chain_synchronizer/synchronizer_service.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,12 +224,10 @@ mod tests {
224224
use anyhow::anyhow;
225225
use std::sync::RwLock;
226226

227-
use mithril_common::certificate_chain::{
228-
FakeCertificaterRetriever, MithrilCertificateVerifier,
229-
};
227+
use mithril_common::certificate_chain::MithrilCertificateVerifier;
230228
use mithril_common::test::{
231229
builder::{CertificateChainBuilder, CertificateChainFixture},
232-
double::{fake_data, fake_keys},
230+
double::{FakeCertificaterRetriever, fake_data, fake_keys},
233231
mock_extensions::MockBuilder,
234232
};
235233

mithril-common/src/certificate_chain/certificate_verifier.rs

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -421,18 +421,17 @@ mod tests {
421421
use std::collections::HashMap;
422422

423423
use async_trait::async_trait;
424-
use mockall::mock;
425424
use tokio::sync::Mutex;
426425

427-
use super::CertificateRetriever;
428-
use super::*;
429-
430-
use crate::certificate_chain::{CertificateRetrieverError, FakeCertificaterRetriever};
426+
use crate::certificate_chain::certificate_retriever::MockCertificateRetriever;
431427
use crate::crypto_helper::{ProtocolClerk, tests_setup::*};
432428
use crate::test::TestLogger;
433429
use crate::test::builder::{
434430
CertificateChainBuilder, CertificateChainBuilderContext, MithrilFixtureBuilder,
435431
};
432+
use crate::test::double::FakeCertificaterRetriever;
433+
434+
use super::*;
436435

437436
macro_rules! assert_error_matches {
438437
( $expected_error:path, $error:expr ) => {{
@@ -448,27 +447,14 @@ mod tests {
448447
}};
449448
}
450449

451-
mock! {
452-
pub CertificateRetrieverImpl { }
453-
454-
#[async_trait]
455-
impl CertificateRetriever for CertificateRetrieverImpl {
456-
457-
async fn get_certificate_details(
458-
&self,
459-
certificate_hash: &str,
460-
) -> Result<Certificate, CertificateRetrieverError>;
461-
}
462-
}
463-
464450
struct MockDependencyInjector {
465-
mock_certificate_retriever: MockCertificateRetrieverImpl,
451+
mock_certificate_retriever: MockCertificateRetriever,
466452
}
467453

468454
impl MockDependencyInjector {
469455
fn new() -> MockDependencyInjector {
470456
MockDependencyInjector {
471-
mock_certificate_retriever: MockCertificateRetrieverImpl::new(),
457+
mock_certificate_retriever: MockCertificateRetriever::new(),
472458
}
473459
}
474460

@@ -505,7 +491,7 @@ mod tests {
505491

506492
let verifier = MithrilCertificateVerifier::new(
507493
TestLogger::stdout(),
508-
Arc::new(MockCertificateRetrieverImpl::new()),
494+
Arc::new(MockCertificateRetriever::new()),
509495
);
510496
let message_tampered = message_hash[1..].to_vec();
511497
assert!(

mithril-common/src/certificate_chain/mod.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,9 @@
33
mod certificate_genesis;
44
mod certificate_retriever;
55
mod certificate_verifier;
6-
cfg_test_tools! {
7-
mod fake_certificate_retriever;
8-
}
96

107
pub use certificate_genesis::CertificateGenesisProducer;
118
pub use certificate_retriever::{CertificateRetriever, CertificateRetrieverError};
129
pub use certificate_verifier::{
1310
CertificateVerifier, CertificateVerifierError, MithrilCertificateVerifier,
1411
};
15-
16-
cfg_test_tools! {
17-
pub use fake_certificate_retriever::FakeCertificaterRetriever;
18-
}

mithril-common/src/certificate_chain/fake_certificate_retriever.rs renamed to mithril-common/src/test/double/certificate_retriever.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ use async_trait::async_trait;
66
use std::collections::HashMap;
77
use tokio::sync::RwLock;
88

9+
use crate::certificate_chain::{CertificateRetriever, CertificateRetrieverError};
910
use crate::entities::Certificate;
1011

11-
use super::{CertificateRetriever, CertificateRetrieverError};
12-
1312
/// A fake [CertificateRetriever] that returns a [Certificate] given its hash
1413
pub struct FakeCertificaterRetriever {
1514
certificates_map: RwLock<HashMap<String, Certificate>>,

mithril-common/src/test/double/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22
//!
33
//! Enable unit testing with controlled inputs and predictable behavior.
44
5+
mod certificate_retriever;
56
mod dummies;
67
pub mod fake_data;
78
pub mod fake_keys;
89
pub(super) mod precomputed_kes_key;
910

11+
pub use certificate_retriever::FakeCertificaterRetriever;
12+
1013
/// A trait for giving a type a dummy value.
1114
///
1215
/// Sometimes in tests you need to provide a value for a type, but the actual value doesn't matter.

0 commit comments

Comments
 (0)