mithril_common/messages/
cardano_database_immutable_files_restored.rs

1use serde::{Deserialize, Serialize};
2
3/// Message structure of an immutable files restoration
4#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
5pub struct CardanoDatabaseImmutableFilesRestoredMessage {
6    /// Number of immutable files restored.
7    pub nb_immutable_files: u32,
8}
9
10impl CardanoDatabaseImmutableFilesRestoredMessage {
11    /// Return a dummy test entity (test-only).
12    pub fn dummy() -> Self {
13        Self {
14            nb_immutable_files: 34,
15        }
16    }
17}
18
19#[cfg(test)]
20mod tests {
21    use super::*;
22
23    const CURRENT_JSON: &str = r#"{
24        "nb_immutable_files": 62
25    }"#;
26
27    fn golden_message_current() -> CardanoDatabaseImmutableFilesRestoredMessage {
28        CardanoDatabaseImmutableFilesRestoredMessage {
29            nb_immutable_files: 62,
30        }
31    }
32
33    #[test]
34    fn test_current_json_deserialized_into_current_message() {
35        let json = CURRENT_JSON;
36        let message: CardanoDatabaseImmutableFilesRestoredMessage =
37            serde_json::from_str(json).unwrap();
38
39        assert_eq!(golden_message_current(), message);
40    }
41}