Skip to content

Commit 72387cb

Browse files
committed
Add to SnapshotDownloadMessage adapter
1 parent 295c645 commit 72387cb

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
mod from_certificate_message_adapter;
22
mod from_mithril_stake_distribution_message;
33
mod from_snapshot_message;
4+
mod to_snapshot_download_message;
45

56
pub use from_certificate_message_adapter::FromCertificateMessageAdapter;
67
pub use from_mithril_stake_distribution_message::FromMithrilStakeDistributionMessageAdapter;
78
pub use from_snapshot_message::FromSnapshotMessageAdapter;
9+
pub use to_snapshot_download_message::ToSnapshotDownloadMessageAdapter;
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
use mithril_common::entities::Snapshot;
2+
use mithril_common::messages::{SnapshotDownloadMessage, ToMessageAdapter};
3+
4+
/// Adapter to convert [Snapshot] to [SnapshotDownloadMessage] instances
5+
pub struct ToSnapshotDownloadMessageAdapter;
6+
7+
impl ToMessageAdapter<&Snapshot, SnapshotDownloadMessage> for ToSnapshotDownloadMessageAdapter {
8+
/// Method to trigger the conversion
9+
fn adapt(snapshot: &Snapshot) -> SnapshotDownloadMessage {
10+
SnapshotDownloadMessage {
11+
digest: snapshot.digest.clone(),
12+
beacon: snapshot.beacon.clone(),
13+
size: snapshot.size,
14+
locations: snapshot.locations.clone(),
15+
compression_algorithm: snapshot.compression_algorithm,
16+
cardano_node_version: snapshot.cardano_node_version.clone(),
17+
}
18+
}
19+
}
20+
21+
#[cfg(test)]
22+
mod tests {
23+
use mithril_common::test_utils::fake_data;
24+
25+
use super::*;
26+
27+
#[test]
28+
fn adapt_ok() {
29+
let mut snapshot = fake_data::snapshots(1)[0].to_owned();
30+
snapshot.digest = "digest123".to_string();
31+
let snapshot_download_message = ToSnapshotDownloadMessageAdapter::adapt(&snapshot);
32+
33+
assert_eq!("digest123".to_string(), snapshot_download_message.digest);
34+
}
35+
}

0 commit comments

Comments
 (0)