mithril_dmq/test/
fake_message.rs1use std::sync::Arc;
4
5use mithril_cardano_node_chain::test::double::FakeChainObserver;
6use mithril_common::{crypto_helper::TryToBytes, test::crypto_helper::KesSignerFake};
7
8use crate::{
9 DmqMessage, DmqMessageBuilder,
10 test::{double::FakeUnixTimestampProvider, payload::DmqMessageTestPayload},
11};
12
13pub async fn compute_fake_msg(bytes: &[u8], test_directory: &str) -> DmqMessage {
15 let dmq_builder = DmqMessageBuilder::new(
16 {
17 let (kes_signature, operational_certificate) =
18 KesSignerFake::dummy_signature(test_directory);
19 let kes_signer =
20 KesSignerFake::new(vec![Ok((kes_signature, operational_certificate.clone()))]);
21
22 Arc::new(kes_signer)
23 },
24 Arc::new(FakeChainObserver::default()),
25 )
26 .set_ttl(100)
27 .set_timestamp_provider(Arc::new(FakeUnixTimestampProvider::max_timestamp_for_ttl(
28 100,
29 )));
30 let message = DmqMessageTestPayload::new(bytes);
31 dmq_builder.build(&message.to_bytes_vec().unwrap()).await.unwrap()
32}