Skip to content

Commit aac2bb6

Browse files
committed
tests(dmq): provide tooling for creating signed fake DMQ messages
1 parent f62ef03 commit aac2bb6

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//! Fake message computation for testing purposes.
2+
3+
use std::sync::Arc;
4+
5+
use mithril_cardano_node_chain::test::double::FakeChainObserver;
6+
use mithril_common::{crypto_helper::TryToBytes, test::crypto_helper::KesSignerFake};
7+
8+
use crate::{DmqMessage, DmqMessageBuilder, test::payload::DmqMessageTestPayload};
9+
10+
/// Computes a fake DMQ message for testing purposes.
11+
pub async fn compute_fake_msg(bytes: &[u8], test_directory: &str) -> DmqMessage {
12+
let dmq_builder = DmqMessageBuilder::new(
13+
{
14+
let (kes_signature, operational_certificate) =
15+
KesSignerFake::dummy_signature(test_directory);
16+
let kes_signer =
17+
KesSignerFake::new(vec![Ok((kes_signature, operational_certificate.clone()))]);
18+
19+
Arc::new(kes_signer)
20+
},
21+
Arc::new(FakeChainObserver::default()),
22+
)
23+
.set_ttl(100);
24+
let message = DmqMessageTestPayload::new(bytes);
25+
dmq_builder.build(&message.to_bytes_vec().unwrap()).await.unwrap()
26+
}

internal/mithril-dmq/src/test/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
//! This module provides in particular test doubles for the traits defined in this crate.
66
77
pub mod double;
8-
8+
pub mod fake_message;
99
pub mod payload;
1010

1111
#[cfg(test)]

0 commit comments

Comments
 (0)